如何可能的话,可以把数据结构换成Map<Integer, A>, 用A.id做key

解决方案 »

  1.   

    看不得你代码乱写,更正如下:List<A> list= new ArrayList<A>();
    A a1 = new A();
    a1.id = 1;
    list.add(a1);
    A a2 = new A();
    a2.id = 2;
    list.add(a2);
    ArrayList是动态数组,从数据结构的角度来看它是线性排列的,在不知道所查询元素下标的情况下,如果要得到该元素,铁定是需要遍历比较的。因此,如果你要更简单更快速的查询,你可以采用链表结构进行存取,JAVA中也就是HashMap键值对应存取。
      

  2.   

    但我要用到ListView,所以只能用list
      

  3.   

    但我要用到ListView,所以只能用list这个不矛盾的。你数据存储为HashMap, 然后你可以使用把map的values包装成List:
    Map<Integer,A> map = ...
    List<A> list = new ArrayList<A>(map.values());
      

  4.   

    但我要用到ListView,所以只能用list这个不矛盾的。你数据存储为HashMap, 然后你可以使用把map的values包装成List:
    Map<Integer,A> map = ...
    List<A> list = new ArrayList<A>(map.values());这个可以