日期:2014-05-20  浏览次数:20746 次

list中元素比较怎样才能获得高效率?
一个List<User>, 其中user有name属性,我想知道里面的user的名字有没有重复的,这个list比较大,怎么才能快速检查完呢?

------解决方案--------------------
我觉得最简单也比较快的方式:
建立一个set,
遍历list,每一个名字先判断set中是否没有,如果Set中没有,则加入Set,
如果已经有,则说明该名字有重复。

Java code

Set userNameSet;
List userList;
for(User u:userList){
  if (userNameSet.contains(u.getName())){
    System.out.println(u.getName()+" already exist.");
  }
}