如何取到list里面某个特定的对象

卡卡的喵 2014-08-27 04:20:53
有个对象A,里面有属性id

List<A> = new ArrayList<A>;
A a1 = new A();
a1.id = 1;
A a2 = new A();
a2.id = 2;

如何取到list里面id为1的对象?

我想到的是用for语句来遍历这个list,然后比较id,但感觉这个方法太弱了,有没有其他好的方法呢?
...全文
5898 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
卡卡的喵 2014-08-28
  • 打赏
  • 举报
回复
引用 4 楼 richard_liang 的回复:
[quote=引用 3 楼 kouwoo 的回复:] [quote=引用 2 楼 ITbailei 的回复:] 看不得你代码乱写,更正如下:

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键值对应存取。
但我要用到ListView,所以只能用list[/quote] 这个不矛盾的。你数据存储为HashMap, 然后你可以使用把map的values包装成List:

Map<Integer,A> map = ...
List<A> list = new ArrayList<A>(map.values());
[/quote] 这个可以
richard_liang 2014-08-27
  • 打赏
  • 举报
回复
引用 3 楼 kouwoo 的回复:
[quote=引用 2 楼 ITbailei 的回复:] 看不得你代码乱写,更正如下:

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键值对应存取。
但我要用到ListView,所以只能用list[/quote] 这个不矛盾的。你数据存储为HashMap, 然后你可以使用把map的values包装成List:

Map<Integer,A> map = ...
List<A> list = new ArrayList<A>(map.values());
卡卡的喵 2014-08-27
  • 打赏
  • 举报
回复
引用 2 楼 ITbailei 的回复:
看不得你代码乱写,更正如下:

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键值对应存取。
但我要用到ListView,所以只能用list
dali_yan 2014-08-27
  • 打赏
  • 举报
回复
看不得你代码乱写,更正如下:

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键值对应存取。
richard_liang 2014-08-27
  • 打赏
  • 举报
回复
如何可能的话,可以把数据结构换成Map<Integer, A>, 用A.id做key

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧