java 怎么在List取得指定的对象 要求不用FOR之类的循环

比如要在List<User> 里面取得一个User.userid=1的对象 有没有直接可用的方法?

用递归.
直到找到userid=1的时候再退出.

package src;

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList<User> li = new ArrayList<User>();
User u1 = new User();
User u2 = new User();
User u3 = new User();
User u4 = new User();
User u5 = new User();
User result = new User();
u1.setUserId(1);
u1.setName("u1");
u2.setUserId(2);
u2.setName("u2");
u3.setUserId(3);
u3.setName("u3");
u4.setUserId(4);
u4.setName("u4");
u5.setUserId(5);
u5.setName("u6");

li.add(u1);
li.add(u2);
li.add(u3);
li.add(u4);
li.add(u5);
result = findById(li, 4);
System.out.println(result.getUserId() + " " + result.getName());
}

public static User findById(ArrayList<User> li, int id) {
User user = li.remove(0);
if (user.getUserId() == id)
return user;
else
return findById(li, id);

}
}

class User {
private int userId;

private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getUserId() {
return userId;
}

public void setUserId(int userId) {
this.userId = userId;
}

}
测试过了好用的.
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-20
这种情况最好用Map的,List要取出特定的对象只能够用循环。
第2个回答  2011-11-18
用for-in循环
for(User user:list){
if(user.getId()==1){

}
}追问

数据量有点大 做循环不好 也规定了不做循环

追答

不管是List还是Map,得到某一个数据还是得循环遍历,不然没法得到

本回答被网友采纳
第3个回答  2015-10-12
如果你的list排序和数量是固定的,可以用
list(1).getA()取得指定list 第一条数据中的的指定a的属性
还有list可以在jsp中使用C:forEach进行遍历
第4个回答  2011-11-18
如果不遍历的话 要知道下标 list.get(0).getUserd();

java 怎么在List取得指定的对象 要求不用FOR之类的循环
用递归.直到找到userid=1的时候再退出.package src;import java.util.ArrayList;public class Test { public static void main(String[] args) { ArrayList<User> li = new ArrayList<User>();User u1 = new User();User u2 = new User();User u3 = new User();User u4 = new User();...

java如何从list对象集合中获取所有对象的某一属性值(一行
使用Java编程语言从list对象集合中获取所有对象的某一属性值,可以采用如下一行代码实现:List valueList = new ArrayList();for(Live o : List){valueList.add(o.getLiveStatus());} 这一行代码的核心逻辑如下:首先,定义一个ArrayList对象valueList用于存储目标属性值。接着,使用for-each循环遍历传...

java中对集合对象list的几种循环访问总结
1. for循环遍历:通过for循环和索引,可以直接访问List中的每个元素。对于顺序存储的集合,如ArrayList,这种方法的读取性能较高。2. Iterator迭代器遍历:使用Iterator可以遍历List中的每个元素,无论集合是基于顺序存储还是链式存储。对于顺序存储的集合,遍历性能与for循环相当;而对于链式存储的集合,Iterator...

JAVA里List里面有多个值我怎么取特定的值?
User user = (User)li.get(0); \/\/ 把i改成0就好了,说明你是取你list的第一个数据,你第一个数据就是zhangsan的 user.getAge(); \/\/ 这里得到一个值,你还可以通过user.getName等方法得到这个list中的所有有关张三的数据

java如何从List中取值
Java中的List索引是从0开始的。因此,要访问第一个元素,索引为0,访问第二个元素,索引为1,以此类推。在Java中,可以使用get()方法获取List中指定索引位置的元素值。通过foreach循环遍历取值:Java中的List还提供了foreach循环遍历的方式来访问其元素。foreach循环可以遍历整个List,获取每个元素的值。...

JAVA怎样从一个对象集合里面查找指定条件的对象
ArrayList底层使用数组实现的,只能先循环再判断:for(User user:users){ if(user.getName().equals("test")){ System.out.println("找到名字为test的User")break;} }

java中对集合对象list的几种循环访问
\/\/1、for循环,可以写成以下几种for(int i=0;i<list.size();i++){}for(String s:list){}\/\/这里的话,list存储的元素就得是对应的string类型\/\/2、while循环int i = 0;while(true){list.get(i);i++;if(i>list.size()-1){break;}}\/\/while 写法大同小异,都是不想循环的时候在...

Java 中多种循环 List 的方式详解
首先,使用增强型for循环是最直观、便捷的方式。此方法直接遍历List中的每个元素,简洁明了。其次,获取List的迭代器后,可借助while循环安全地遍历列表元素。迭代器支持在遍历时删除元素,且操作更安全。Java 8引入的forEach方法简化了处理列表元素的过程。只需在List上应用此方法,结合Lambda表达式,即可...

JAVA怎样从一个对象集合里面查找指定条件的对象
把这些对象从集合中一个一个地取出,与指定条件作比较。for(Object obj : list) \/\/此处把Object替换成集合中对象的类型 { \/\/ 此处把 obj 与指定条件比较 }

java中List里面的数据怎么筛选
在Java中,筛选List中的数据可以通过多种方式实现。一种简单的方法是使用for循环遍历列表并结合条件语句进行过滤。这种方法会创建一个新的List存储筛选出的元素。例如,假设我们有如下列表:List dataList= Arrays.asList("123","123222","2323","6767");我们可以创建一个新的List用于存储符合条件的元素...

相似回答