Java 从哈希表中获取所有值
我正在从事一个Android项目,在这个项目中,我必须从一个哈希表中获取所有值,而不管键是什么。我的地图是Java 从哈希表中获取所有值,java,android,hashtable,Java,Android,Hashtable,我正在从事一个Android项目,在这个项目中,我必须从一个哈希表中获取所有值,而不管键是什么。我的地图是 HashMap<String, ArrayList<MyProduct>> orderAdap = InvocieProductFragment.mapOrderd; 我需要输出为 [p1,p2,p3,p3,p4,p1,p4,p5,p7,p9] 这是可以做到的。我需要帮助。谢谢….只需使用值集迭代映射并添加到列表中即可 java.util.Iterator it
HashMap<String, ArrayList<MyProduct>> orderAdap = InvocieProductFragment.mapOrderd;
我需要输出为
[p1,p2,p3,p3,p4,p1,p4,p5,p7,p9]
这是可以做到的。我需要帮助。谢谢….只需使用值集迭代映射并添加到列表中即可
java.util.Iterator iter = hm.valueSet().iterator();
while(iter.hashNext()){
//add to your list
}
只需使用值集迭代映射并添加到列表中
java.util.Iterator iter = hm.valueSet().iterator();
while(iter.hashNext()){
//add to your list
}
你喜欢这样吗
Collection<ArrayList<MyProduct>> values = orderAdap.values();
Collection values=orderAdap.values();
你喜欢这样吗
Collection<ArrayList<MyProduct>> values = orderAdap.values();
Collection values=orderAdap.values();
但我的问题是,我是否可以将所有产品列表加载到单个ArrayList中,而不考虑此哈希映射中的键值
您正在HashmMap
返回此映射中包含的值的集合视图
结果呢
Collection<ArrayList<MyProduct>> allValuesCollection = orderAdap.values();
Collection allvaluescolection=orderAdap.values();
然后你可以迭代它
for (ArrayList<MyProduct> eachList : allValuesCollection ) {
//play with eachList
}
for(ArrayList-eachList:allValuesCollection){
//和每个人一起玩
}
但我的问题是,我是否可以将所有产品列表加载到单个ArrayList中,而不考虑此哈希映射中的键值
您正在HashmMap
返回此映射中包含的值的集合视图
结果呢
Collection<ArrayList<MyProduct>> allValuesCollection = orderAdap.values();
Collection allvaluescolection=orderAdap.values();
然后你可以迭代它
for (ArrayList<MyProduct> eachList : allValuesCollection ) {
//play with eachList
}
for(ArrayList-eachList:allValuesCollection){
//和每个人一起玩
}
我必须从哈希表中获取所有值,而不管键是什么
使用map中的方法:
Map<String, List<Integer>> m = new HashMap<>();
m.put("test", new ArrayList<Integer>(Arrays.asList(1,2,3)));
m.put("test2", new ArrayList<Integer>(Arrays.asList(2,3,4)));
List<List<Integer>> l = new ArrayList<>(m.values());
System.out.println(l);
编辑:
要获得扁平化的列表
List<Integer> flattenList = new ArrayList<>();
for(List<Integer> list : m.values()){
for(Integer i : list)
flattenList.add(i);
}
System.out.println(flattenList);
附加说明:您可以检查是否要展平任意深度的列表(使用递归)
我必须从哈希表中获取所有值,而不管键是什么
使用map中的方法:
Map<String, List<Integer>> m = new HashMap<>();
m.put("test", new ArrayList<Integer>(Arrays.asList(1,2,3)));
m.put("test2", new ArrayList<Integer>(Arrays.asList(2,3,4)));
List<List<Integer>> l = new ArrayList<>(m.values());
System.out.println(l);
编辑:
要获得扁平化的列表
List<Integer> flattenList = new ArrayList<>();
for(List<Integer> list : m.values()){
for(Integer i : list)
flattenList.add(i);
}
System.out.println(flattenList);
附加说明:您可以检查是否要展平任意深度的列表(使用递归)您必须迭代以下值: 这可能有助于:
希望这有帮助 您必须在以下值上迭代:
MyProduct myProduct1 = new MyProduct();
myProduct1.setProductId(1);
myProduct1.setProductName("asm");
MyProduct myProduct2 = new MyProduct();
myProduct2.setProductId(2);
myProduct2.setProductName("tsm");
MyProduct myProduct3 = new MyProduct();
myProduct3.setProductId(2);
myProduct3.setProductName("rsm");
List<MyProduct> productList1 = new ArrayList<>();
productList1.add(myProduct1);
productList1.add(myProduct2);
List<MyProduct> productList2 = new ArrayList<>();
productList2.add(myProduct3);
Map<String, List<MyProduct>> map = new HashMap<String, List<MyProduct>>();
map.put("First", productList1);
map.put("Second", productList2);
Collection<List<MyProduct>> listOfList = map.values();
for(List<MyProduct> list : listOfList){
for(MyProduct product: list){
System.out.println(""+ product.getProductName());
}
}
这可能有助于:
希望这有帮助 MyProduct myProduct1=新的MyProduct();
MyProduct myProduct1 = new MyProduct();
myProduct1.setProductId(1);
myProduct1.setProductName("asm");
MyProduct myProduct2 = new MyProduct();
myProduct2.setProductId(2);
myProduct2.setProductName("tsm");
MyProduct myProduct3 = new MyProduct();
myProduct3.setProductId(2);
myProduct3.setProductName("rsm");
List<MyProduct> productList1 = new ArrayList<>();
productList1.add(myProduct1);
productList1.add(myProduct2);
List<MyProduct> productList2 = new ArrayList<>();
productList2.add(myProduct3);
Map<String, List<MyProduct>> map = new HashMap<String, List<MyProduct>>();
map.put("First", productList1);
map.put("Second", productList2);
Collection<List<MyProduct>> listOfList = map.values();
for(List<MyProduct> list : listOfList){
for(MyProduct product: list){
System.out.println(""+ product.getProductName());
}
}
myProduct1.setProductId(1);
myProduct1.setProductName(“asm”);
MyProduct myProduct2=新的MyProduct();
myProduct2.setProductId(2);
myProduct2.setProductName(“tsm”);
MyProduct myProduct3=新的MyProduct();
myProduct3.setProductId(2);
myProduct3.setProductName(“rsm”);
List productList1=新的ArrayList();
productList1.add(myProduct1);
productList1.add(myProduct2);
List productList2=新的ArrayList();
productList2.add(myProduct3);
Map Map=newhashmap();
map.put(“第一”,产品列表1);
map.put(“第二”,产品列表2);
Collection listOfList=map.values();
for(列表:listOfList){
对于(我的产品:列表){
System.out.println(“+product.getProductName());
}
}
MyProduct myProduct1=新的MyProduct();
myProduct1.setProductId(1);
myProduct1.setProductName(“asm”);
MyProduct myProduct2=新的MyProduct();
myProduct2.setProductId(2);
myProduct2.setProductName(“tsm”);
MyProduct myProduct3=新的MyProduct();
myProduct3.setProductId(2);
myProduct3.setProductName(“rsm”);
List productList1=新的ArrayList();
productList1.add(myProduct1);
productList1.add(myProduct2);
List productList2=新的ArrayList();
productList2.add(myProduct3);
Map Map=newhashmap();
map.put(“第一”,产品列表1);
map.put(“第二”,产品列表2);
Collection listOfList=map.values();
for(列表:listOfList){
对于(我的产品:列表){
System.out.println(“+product.getProductName());
}
}
可能重复的可能重复请参见下面的邹祖答案。我可以将哈希映射中的乘积值添加到ArrayList中吗。哈希映射中的乘积值存储在ArrayList中。那么,我如何将这些ArrayList中的所有值都添加到ArrayList中呢?请参见下面的邹祖答案。我如何将哈希映射中的乘积值添加到ArrayList中呢。哈希映射中的乘积值存储在ArrayList中。那么,如何将这些ArrayList中的所有值添加到ArrayList中呢?如何将哈希映射中的乘积值添加到ArrayList中呢。哈希映射中的乘积值存储在ArrayList中。那么,如何将这些ArrayList中的所有值添加到ArrayList中呢?如何将哈希映射中的乘积值添加到ArrayList中呢。哈希映射中的乘积值存储在ArrayList中。那么我怎样才能把这些ArrayList中的所有值都放到一个ArrayList中呢。我希望输出为[1,2,3,2,3,4]
而不是这个。我希望输出为[1,2,3,2,3,4]