List和Map有什么区别?

1.是什么

????List?和?Map?是 Java 集合框架中的两个不同接口,它们用于存储不同类型的数据,并具有不同的行为和用途。


List 接口

  • 存储类型List?接口用于存储一系列有序的元素集合,允许重复元素。
  • 元素List?中的元素可以是任何对象,包括?null
  • 存储顺序List?接口保证了元素的有序性,元素在列表中的位置称为索引,索引从 0 开始。
  • 操作List?接口提供了丰富的操作,如?add(添加元素)、remove(删除元素)、get(根据索引获取元素)等。

Map 接口

  • 存储类型Map?接口用于存储键值对(key-value pairs),其中键是唯一的,而值可以重复。
  • 键值对:每个键值对都有一个键和一个值,键用于查找值。
  • 存储顺序Map?接口不保证元素的顺序,尽管一些实现类(如?TreeMap)会保持元素的排序。
  • 键和值:键和值可以是任何对象,包括?null
  • 操作Map?接口提供了丰富的操作,如?put(添加键值对)、get(根据键获取值)、remove(根据键删除键值对)等。

区别

  1. 存储类型List?存储一系列有序的元素,而?Map?存储键值对。
  2. 键和值List?中的元素可以是任意对象,而?Map?中的键是唯一的,值可以重复。
  3. 存储顺序List?接口保证了元素的有序性,而?Map?接口不保证元素的顺序。
  4. 操作List?提供了丰富的操作,如?add?和?remove,而?Map?提供了键值对的操作,如?put?和?get

示例

假设我们有一个包含字符串的集合:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.TreeMap;

public class ListMapExample {
    public static void main(String[] args) {
        // List 示例
        ArrayList arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Banana");
        arrayList.add("Cherry");

        LinkedList linkedList = new LinkedList<>();
        linkedList.add("Apple");
        linkedList.add("Banana");
        linkedList.add("Cherry");

        // Map 示例
        HashMap hashMap = new HashMap<>();
        hashMap.put("Apple", 1);
        hashMap.put("Banana", 2);
        hashMap.put("Cherry", 3);

        TreeMap treeMap = new TreeMap<>();
        treeMap.put("Apple", 1);
        treeMap.put("Banana", 2);
        treeMap.put("Cherry", 3);
    }
}

????????在这个例子中,我们创建了不同类型的?List?和?Map?实例,并添加了一些元素。由于?List?和?Map?接口不保证元素的顺序,因此添加元素的顺序可能与打印顺序不同。

上一篇:360n5手机是属于华为的吗(小米note4x,乐视3por,华为荣耀8青春版,360n5这四个手机相对比哪个好一点)
下一篇:HttpRequest模块 --- 存储http请求要素