java 怎么在List取得指定的对象 要求不用FOR之类的循环
答案:7 悬赏:0 手机版
解决时间 2021-03-30 14:51
- 提问者网友:斑駁影
- 2021-03-29 18:01
java 怎么在List取得指定的对象 要求不用FOR之类的循环
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-03-29 19:23
用递归.
直到找到userid=1的时候再退出.
package src;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList li = new ArrayList();
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 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;
}
}
测试过了好用的.
直到找到userid=1的时候再退出.
package src;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList
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 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楼网友:西风乍起
- 2021-03-30 00:48
如果不遍历的话 要知道下标 list.get(0).getUserd();
- 2楼网友:蕴藏春秋
- 2021-03-30 00:38
不用循环取不到 如果说 不用 java.util.List的方法 取值 倒是还可以 如果说 是不用for循环 那恐怕不太可能
- 3楼网友:蕴藏春秋
- 2021-03-29 23:34
list 存值时 想去出来只能迭代 没招 换成map吧
- 4楼网友:北方的南先生
- 2021-03-29 22:22
这种情况最好用Map的,List要取出特定的对象只能够用循环。
- 5楼网友:几近狂妄
- 2021-03-29 20:51
如果你的list排序和数量是固定的,可以用
list(1).getA()取得指定list 第一条数据中的的指定a的属性
还有list可以在jsp中使用C:forEach进行遍历
list(1).getA()取得指定list 第一条数据中的的指定a的属性
还有list可以在jsp中使用C:forEach进行遍历
- 6楼网友:青灯有味
- 2021-03-29 19:52
用for-in循环
for(User user:list){
if(user.getId()==1){
}
}追问数据量有点大 做循环不好 也规定了不做循环追答不管是List还是Map,得到某一个数据还是得循环遍历,不然没法得到
for(User user:list){
if(user.getId()==1){
}
}追问数据量有点大 做循环不好 也规定了不做循环追答不管是List还是Map,得到某一个数据还是得循环遍历,不然没法得到
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯