moludi
moludi
2017-10-25 09:13
采纳率: 100%
浏览 1.2k
已采纳

一个集合中多次判断一个元素

 for (FBillDefine fBillDefine : allBillList) {
                String name = fBillDefine.getBillInfo().getName();
                if (name.startsWith("AM")){
                    this.billList.add(name);
                }
            }
            billList = new ArrayList<String>(new HashSet<String>(billList));

把allBillList里面AM开头的加入到billList 里面,billList 有可能已经存在了许多allBillList里的AM开头的String,有没有更好的实现方法?
师傅说这也不符合他的要求,说一个大集合中多次判断一个元素怎么实现的,往这方面想,怎么改才行我就不知道了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • hy_coming
    hy_coming 2017-10-25 11:14
    已采纳

    关键是你师父到底怎样的要求呀?感觉你说的是去重?可是后面一说又不是,你既然要往集合里面存东西,为什么又嫌弃他多呢?不明白

    点赞 评论
  • caozhy

    八戒,你问得不明不白,咱们怎么知道你想问什么,还是得问你师傅啊。

    点赞 评论
  • moludi
    moludi 2017-10-25 09:24

    把allBillList里面AM开头的加入到billList 里面,billList 有可能已经存在了许多allBillList里的AM开头的String,有没有更好的实现方法?

    点赞 评论
  • sadwxds
    健秋 2017-10-25 10:11

    你这是不是添加的时候还要进行去重啊,而且大集合是多大?先评估数量级,再考虑实现方法吧。

    点赞 评论
  • nihao_chao
    nihao_chao 2017-10-25 11:29

    先放到Map集合中用try...catch捕获异常,由于Map集合不能重复(用值做为键名),如果异常说明重复,进行异常处理;没有异常直接加到Map集合中。

    点赞 评论

相关推荐