pingfandw
pingfandw
采纳率100%
2013-07-30 16:08 阅读 18.1k
已采纳

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

多个对象存储的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条回答 默认 最新

  • 已采纳
    cj6585256 码密码密哄 2013-07-31 02:15
    for(int i = 0;i<list.size();i++) {
     if("李四".equales(list.get(i).getName())){
    return i;//i就是索引
    }
    }
    
    点赞 4 评论 复制链接分享
  • ladygagadu ladygagadu 2013-08-07 00:17

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

    点赞 2 评论 复制链接分享
  • lvyoudejiayu 乙鱼 2013-08-07 12:20

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

    点赞 2 评论 复制链接分享
  • Shan_mei lt3 2013-08-06 10:15

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

    点赞 1 评论 复制链接分享

相关推荐