Java 从哈希表中获取所有值

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

我正在从事一个Android项目,在这个项目中,我必须从一个哈希表中获取所有值,而不管键是什么。我的地图是

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]