Home >Java >javaTutorial >Convert ArrayList to HashMap in Java
interface in Java is a subinterface of the List
interface, representing an ordered set, allowing duplicate elements. Collection
is a commonly used implementation class for the ArrayList
interface. It is a dynamic array without pre-specifying the size. List
is a class in the Java collection framework, used to store key-value pairs. Keys cannot be repeated, and values can be repeated. HashMap<k v></k>
to ArrayList
: HashMap
ArrayList
<code>输入列表:[1="1", 2="2", 3="3"] 输出映射:{1=1, 2=2, 3=3} 输入列表:[1="Java", 2="for", 3="JavaScript"] 输出映射:{1=Java, 2=for, 3=JavaScript} 输入:Mercedes, Audi, BMW, Harley Davidson, Triumph 输出:{Car=[Mercedes, Audi, BMW], Bike=[Harley Davidson, Triumph]}</code>
Algorithm: Convert ArrayList to HashMap
This algorithm describes how to convert to ArrayList
. HashMap
ArrayList
Syntax: Convert ArrayList to HashMap
The following are some sample code snippets:
<code class="language-java">ArrayList<product> productList = new ArrayList<product>(); productList = getProducts(); Map<string product> urMap = yourList.stream().collect(Collectors.toMap(Product::getField1, Function.identity())); HashMap<string product> productMap = new HashMap<string product>(); for (Product product : productList) { productMap.put(product.getProductCode(), product); } for (Product p: productList) { s.put(p.getName(), p); } for(Product p : productList){ s.put(p.getProductCode() , p); }</string></string></string></product></product></code>These snippets show how to convert
to ArrayList
. HashMap
Method
We will introduce two methods:
Method 1: Use iteration and Collectors.toMap()
This method iterates directly
. ArrayList
HashMap
<code class="language-java">// 示例代码 (假设ArrayList包含自定义对象) class Color { private String name; private String code; // ... getters and setters ... } // ... List<color> colors = new ArrayList<>(); // ... populate colors list ... Map<string string> colorMap = colors.stream() .collect(Collectors.toMap(Color::getName, Color::getCode));</string></color></code>Method 2: Use Java 8 Stream API and
Collectors.groupingBy()
If you need to group, you can use the method.
Collectors.groupingBy()
Through the above methods, you can choose the appropriate method to convert
<code class="language-java">// 示例代码 (假设ArrayList包含自定义对象,需要按类别分组) class Product { private String category; private String name; // ... getters and setters ... } // ... List<product> products = new ArrayList<>(); // ... populate products list ... Map<string list>> productMap = products.stream() .collect(Collectors.groupingBy(Product::getCategory));</string></product></code>according to actual needs. Remember to deal with potential duplicate keys, such as using the third parameter of
to specify the merge function. Select ArrayList
to maintain the insertion order. HashMap
The above is the detailed content of Convert ArrayList to HashMap in Java. For more information, please follow other related articles on the PHP Chinese website!