Java中如何将HashMap转换为ArrayList
时间:2020-02-23 14:34:16 来源:igfitidea点击:
在本教程中,我们将看到如何将HashMap转换为Java中的ArrayList。
很多次,我们需要将键或者值存储到ArrayList或者Store HashMap在ArrayList中的节点对象。
HashMap和ArrayList都是Java中最使用的数据结构,都具有不同的层次结构。
以下是将HashMap转换为Java中的ArrayList的方法。
使用Java 8的Stream API
Java 8:将HashMap的键转换为ArrayList
我们可以使用HashMap的keyset()方法获取一组密钥并使用Java 8的Stream API将其转换为ArrayList。
List<Integer> customerIdList = customerIdNameMap.keySet() .stream() .collect(Collectors.toList());
将HashMap的值转换为ArrayList
我们可以使用hashmap的 values()
获取值集合的方法并使用Java 8的Stream API将其转换为ArrayList。
List customerNames = customerIdNameMap.values() .stream() .collect(Collectors.toList());
将HashMap的条目对象转换为ArrayList
我们可以使用hashmap的
entrySet()
获取输入对象集的方法,并使用Java 8的Stream API将其转换为ArrayList。
List<Entry<Integer, String>> entryCustomerList = customerIdNameMap.entrySet() .stream() .collect(Collectors.toList());
让我们看看完整的例子。
package org.igi.theitroad; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.stream.Collectors; public class HashMapToArrayListMainJava8 { public static void main(String[] args) { HashMap<Integer, String> customerIdNameMap = new HashMap<Integer, String>(); //Putting key-values pairs in HashMap customerIdNameMap.put(1001, "Arman"); customerIdNameMap.put(1002, "Javin"); customerIdNameMap.put(1003, "Mat"); customerIdNameMap.put(1004, "Joe"); //Java 8 //Convert keys to ArrayList List<Integer> customerIdList = customerIdNameMap.keySet() .stream() .collect(Collectors.toList()); System.out.println("customerIds: "+customerIdList); //Convert values to ArrayList List<String> customerNames = customerIdNameMap.values() .stream() .collect(Collectors.toList()); System.out.println("Customer Names: "+ customerNames); //Convert entry objects to ArrayList List<Entry<Integer, String>> entryCustomerList = customerIdNameMap.entrySet() .stream() .collect(Collectors.toList()); System.out.println("Customer ID and Names: "+entryCustomerList); } }
使用Artrlist的构造函数
将HashMap的键转换为ArrayList
获取来自HashMap的Keyset(),然后使用其构造函数将其转换为ArrayList。
//Convert keys to ArrayList Set keySet = customerIdNameMap.keySet(); List customerIdList = new ArrayList(keySet);
将HashMap的值转换为ArrayList
获取来自HashMap的值(),然后使用其构造函数将其转换为ArrayList。
//Convert values to ArrayList Collection values = customerIdNameMap.values(); List customerNames = new ArrayList(values);
将HashMap的条目对象转换为ArrayList
获取来自HashMap的RestSet(),然后使用其构造函数将其转换为ArrayList。
//Convert entry objects to ArrayList Set<Entry<Integer, String>> entrySet = customerIdNameMap.entrySet(); List<Map.Entry<Integer,String>> entryCustomerList = new ArrayList<Map.Entry<Integer,String>>(entrySet);
以下是将HashMap转换为ArrayList的完整程序。
package org.igi.theitroad; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class HashMapToArrayListMain { public static void main(String[] args) { HashMap<Integer, String> customerIdNameMap = new HashMap<Integer, String>(); //Putting key-values pairs in HashMap customerIdNameMap.put(1001, "Arman"); customerIdNameMap.put(1002, "Javin"); customerIdNameMap.put(1003, "Mat"); customerIdNameMap.put(1004, "Joe"); //Before Java 8 //Convert keys to ArrayList Set<Integer> keySet = customerIdNameMap.keySet(); List<Integer> customerIdList = new ArrayList<Integer>(keySet); System.out.println("customerIds: "+customerIdList); //Convert values to ArrayList Collection<String> values = customerIdNameMap.values(); List<String> customerNames = new ArrayList<String>(values); System.out.println("Customer Names: "+ customerNames); //Convert entry objects to ArrayList Set<Entry<Integer, String>> entrySet = customerIdNameMap.entrySet(); List<Map.Entry<Integer,String>> entryCustomerList = new ArrayList<Map.Entry<Integer,String>>(entrySet); System.out.println("Customer ID and Names: "+entryCustomerList); } }