21xrx.com
2024-11-22 13:36:13 Friday
登录
文章检索 我的文章 写文章
Java 容器详解:ArrayList、LinkedList、HashMap、HashSet 等
2023-06-16 11:02:21 深夜i     --     --
Java 容器

Java 容器详解:ArrayList、LinkedList、HashMap、HashSet 等

Java 中的容器可以分为两类,一类是 Collection,一类是 Map。其中 Collection 又分为 List、Set 和 Queue,Map 是 key-value 对的形式进行存储。在 Java 中,容器是非常重要的一部分,可以帮助我们更加高效地管理数据。下面我们分别介绍几种常见的容器实现类。

1. ArrayList

ArrayList 是最常用的 List 实现类,底层是以数组的形式进行存储。数组的优点是查询的效率非常高,随机访问的时间复杂度为 O(1),但是插入和删除的时间复杂度比较高,随着元素的不断增加,可能需要不断扩容。举个例子,如下所示:


ArrayList list = new ArrayList<>();

list.add("Hello");

list.add("world");

list.get(1); // 输出 world

list.remove(0);

2. LinkedList

LinkedList 是另外一种 List 的实现类,底层是以链表的形式进行存储。由于链表的查询效率不高,时间复杂度为 O(n),但是插入和删除的效率非常高,时间复杂度为 O(1)。举个例子,如下所示:


LinkedList list = new LinkedList<>();

list.add("Hello");

list.add("world");

list.get(1);

list.remove(0);

3. HashMap

HashMap 是最常用的 Map 实现类,底层是一个数组和链表的结合体。HashMap 以 key-value 的形式进行存储,查询效率非常高,时间复杂度为 O(1),但是需要保证 key 的唯一性。举个例子,如下所示:


HashMap map = new HashMap<>();

map.put(1, "Hello");

map.put(2, "world");

map.get(2);

map.remove(1);

4. HashSet

HashSet 是 Set 接口的一个典型实现类,它基于 HashMap 来实现。HashSet 保证了元素的唯一性,内部的元素是无序的。举个例子,如下所示:


HashSet set = new HashSet<>();

set.add("Hello");

set.add("world");

set.contains("Hello"); // 输出 true

set.remove("Hello");

综上所述,Java 中的容器有很多种,每种容器都有自己的特点和用途。需要根据不同的需求来选择合适的容器来使用。

、ArrayList、LinkedList、HashMap、HashSet

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复