在Java集合中使用类对象及其属性
我有一个类Class1
,它有3个属性(prop1
,prop2
,prop3
)。
我有另一个类Class2和Hashmap hashMap1。
我正在hashMap1中使用Class1对象,并为prop1
、prop2
、prop3
插入一个值
第一类
public class Class1
{
private String Prop1;
private String Prop2;
private int Prop3;
public Class1(String Prop1, String Prop2, int Prop3)
{
this.Prop1= Prop1;
this.Prop2= Prop2;
this.Prop3= Prop3;
}
}
类别2
public class Class2
{
public static void main(String[] args)
{
HashMap<String, Class1> hashMap1= new LinkedHashMap<>();
hashMap1.put("01" , new Class1("Prop1a","Prop2a", 101));
hashMap1.put("02" , new Class1("Prop1a","Prop2b", 202));
hashMap1.put("03" , new Class1("Prop1b","Prop2a", 303));
}
}
我试图弄清楚,如何打印Prop1 = "Prop1a"
或Prop2 = "Prop2a"
集合中的所有列表?
我希望这是有意义的
请让我知道是否有更好的方法可以实现这一点
# 1 楼答案
老式(简单,适用于所有版本的Java)使用循环
注意
Class1
中当然需要getter,重写的toString
很有用# 2 楼答案
如果您想获取具有特定属性的
Class1
列表,还可以通过流api完成:# 3 楼答案
您需要迭代地图的值,选择符合条件的值并打印它们。一种方法是使用流:
您需要为
Class1
实现基本的getter和toString()
# 4 楼答案
您需要在Class1中创建getter,理想情况下还需要重写toString()方法,以便以您想要的方式打印Class1。然后你可以这样做:
我没有测试代码,如果不起作用,请在评论中告诉我