📅  最后修改于: 2023-12-03 14:42:43.102000             🧑  作者: Mango
在Java中,ArrayList是一种可以动态增长的数组类型,而HashMap是一种键值对的集合类型。有时我们需要将一个ArrayList转换为HashMap来方便地进行键值访问和查找。下面介绍一种实现方法。
import java.util.ArrayList;
import java.util.HashMap;
public class ArrayListToHashMap {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < list.size(); i++) {
map.put(list.get(i), i);
}
System.out.println(map);
}
}
上述代码中,我们首先创建了一个字符串类型的ArrayList,并向其中添加三个元素。然后创建一个键值对类型为String和Integer的HashMap。接下来,我们使用循环遍历ArrayList中的元素,将每个元素作为键,对应的下标作为值,存储到HashMap中。最后打印出转换后的HashMap。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.stream.Collectors;
public class ArrayListToHashMap {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
HashMap<String, Integer> map = list.stream()
.collect(Collectors.toMap(
item -> item,
item -> list.indexOf(item)));
System.out.println(map);
}
}
上述代码中,我们使用Java 8的Streams API来将ArrayList转换为HashMap。我们使用Collectors.toMap()
方法将ArrayList中的元素作为键,对应元素在ArrayList中的下标作为值,构建一个新的HashMap。最后打印出转换后的HashMap。
以上就是Java中将ArrayList转换为HashMap的两种实现方法。通过这种转换可以方便地进行键值访问和查找,提高了代码的可读性和效率。