java中如何通过一个已知的属性值获取到所属的对象,从而得到该对象的其余属性值
比如说 现在有个一个类 A 有个两个属性值 id name 现在 现在给他的两个属性赋值
a.setId(1);
a.setName("a");
a.setId(2
a.setName("b");
a.setId(3)
a.setName("c");
然后我现在想 给出一个 name 为C 然后得到它对应的id 请问该怎么做啊?
------解决方案--------------------
那要看你的对象存在哪里,而且你的写法不对,不能给相同的属性去设置多个不同的值。
如果你直接new一个A,并且给对象设置了get/set方法。那么你直接调用就可以取到,因为对象是存在内存中的。
------解决方案--------------------
感觉楼主是初学者,上面的写法错了,不过如果想要根据一个值来获取其余属性的话,可以把已知的值遍历一遍,然后逐个判断该属性的值,最后取出来
------解决方案--------------------
List直接查找集合对象只能通过索引,你如果根据1个属性好像没什么好办法了。只能遍历通过get方法判断。List本身就是有序的所以你那个对象的位置是固定的。不过你一个List放几万条数据感觉是设计有些问题吧。
------解决方案--------------------
那要看你的对象存在哪里,而且你的写法不对,不能给相同的属性去设置多个不同的值。
如果你直接new一个A,并且给对象设置了get/set方法。那么你直接调用就可以取到,因为对象是存在内存中的。
实际中我是这样做的
List list=new ArrayList();
...
while (rs.next()){
A a=new A();
a.setId(rs.getInt("id"));
a.setName(rs.getString("name"));
list.add(a);
}
所以 a有很多不同的属性值 现在我想根据一个已知的 属性值 得到与它对应的另一个属性值。我知道遍历是一种方法但是
这个list的size有好几万呢 要是每次都遍历 那是不是很麻烦啊 有没有什么方便的方法啊
List直接查找集合对象只能通过索引,你如果根据1个属性好像没什么好办法了。只能遍历通过get方法判断。List本身就是有序的所以你那个对象的位置是固定的。不过你一个List放几万条数据感觉是设计有些问题吧。
我也觉得不太靠谱,可是应该怎么放呢?
根据业务,用多少查多少,你一次查几万条放内存,用不了这么多吧。