📌  相关文章
📜  Java中将 ArrayList 转换为 HashMap(1)

📅  最后修改于: 2023-12-03 14:42:43.102000             🧑  作者: Mango

Java中将 ArrayList 转换为 HashMap

在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。

方法二:使用Java 8的Streams
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的两种实现方法。通过这种转换可以方便地进行键值访问和查找,提高了代码的可读性和效率。