可以获取到a1对象
list.contains(a1)来判断

解决方案 »

  1.   

    当然这样比较的就不是id为1了而是整个a1
      

  2.   

    数据量不多的话,完全没有必要,我都见过3个这个的帖子的,就用for循环就行,简单,个人看法
      

  3.   

    一般LIST中的数据量不会太大    所以直接遍历是最好的方式。
      

  4.   

    要不你就用map吧!import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class Test {

    public static void main(String[] args) throws Exception {
    Map<Integer,List<A>> map=new HashMap<Integer,List<A>>();
    A p1=new A(1);
    addPersonToMap(map,p1);
    A p2=new A(3);
    addPersonToMap(map,p2);
    A p3=new A(1);
    addPersonToMap(map,p3);
    System.out.println(map.get(1));
    }
    private static boolean addPersonToMap(Map<Integer,List<A>> map,A p1){
    boolean flag;
    int key=p1.getId();
    if(map.containsKey(key)){
    List<A> value=map.get(1);
    value.add(p1);
    map.put(key, value);
    flag=true;
    }else{
    List<A> value=new ArrayList<A>();
    value.add(p1);
    map.put(key, value);
    flag=false;
    }
    return flag;
    }
    }
    下面是类A的一个简单定义
    class A{
    int id; public int getId() {
    return id;
    } public void setId(int id) {
    this.id = id;
    } @Override
    public String toString() {
    return "A [id=" + id + "]";
    } public A() {
    super();
    } public A(int id) {
    super();
    this.id = id;
    }
    }
      

  5.   


    大概几百条,算多吗
    你就按1000条算,你用for循环执行,看看大概需要多少时间,一点也不算多
      

  6.   

    for+if 足以,没必要搞得那么深入,几百万的数据用for+if  也很快
      

  7.   

    总结 还是自己想太多了 for 速度很快
      

  8.   

    要我说啊 写啥for循环啊. 有的集合里都自带检查方法的.
    再不济那些开源的项目啦.里头那些工具类,都处理的妥妥的了.
    咱们拿来用就好.还方便,还安全.下个jar就完事了.