为了账号安全,请及时绑定邮箱和手机立即绑定

多个对象存储的ArrayList中,如何获取该对象在ArrayList里的索引值

多个对象存储的ArrayList中,如何获取该对象在ArrayList里的索引值

千万里不及你 2019-03-13 15:19:46
多个对象存储的ArrayList中,如果只知道对象其中的一个属性,如何获取该对象在ArrayList里的索引值?比如说:一个Person类有三个属性(String name ,String sex,int age)Person p1=new Person("张三","男",20);Person p2=new Person("李四","男",22);Person p3=new Person("王五","男",24);然后这些对象都储存在ArrayList集合里,如果只知道"李四"这个名字(在不知道性别和年龄的情况下),如何获取"李四"这个对象在ArrayList集合里的索引值(即1)?
查看完整描述

4 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

for(int i = 0;i<list.size();i++) {
 if("李四".equales(list.get(i).getName())){
return i;//i就是索引
}
}


查看完整回答
反对 回复 2019-04-29
?
慕仙森

TA贡献1827条经验 获得超7个赞

int index = 0;
for(int i = 0 ; i<Arraylist.size(); i++)
{
if("李四".equals(Arraylist.get(i).getName()))
{
index = i;
}
}
index 就是你要获得的下标

查看完整回答
反对 回复 2019-04-29
?
森林海

TA贡献2011条经验 获得超2个赞

遍历整个ArrayList,把所有值相同的都取出来,用键值对的形式
for(int i = 0 ; i<Arraylist.size(); i++)
{
if("李四".equals(Arraylist.get(i).getName()))
{
Map.put(i,Arraylist(i));
}
}
这样就把所有想要的值和下标都放在Map中了

查看完整回答
反对 回复 2019-04-29
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

对象中的属性是有可能重复的, 对此很难判断到底哪个对象的索引是你想要的。 
除非能确保你要查的属性值是唯一的。
如果此, 那也只能通过遍历比较了。

查看完整回答
反对 回复 2019-04-29
  • 4 回答
  • 0 关注
  • 1280 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信