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:
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); }
to ArrayList
. HashMap
Method
We will introduce two methods:
Method 1: Use iteration and Collectors.toMap()
This method iterates directly
. ArrayList
HashMap
// 示例代码 (假设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));
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
// 示例代码 (假设ArrayList包含自定义对象,需要按类别分组) class Product { private String category; private String name; // ... getters and setters ... } // ... List<Product> products = new ArrayList<>(); // ... populate products list ... Map<String, List<Product>> productMap = products.stream() .collect(Collectors.groupingBy(Product::getCategory));
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!