写点什么

Java 常见集合类型及其异同点,简单使用

作者:(-0 , +0)
  • 2023-05-15
    江西
  • 本文字数:1414 字

    阅读完需:约 5 分钟

Java 集合是 Java 编程语言中的一个非常重要的部分。Java 集合类是 Java 开发中最通用的类之一,它提供了一种方便的方法来管理一组对象。Java 集合框架提供了一个标准的框架来表示和操作集合对象。Java 集合框架由一组接口、抽象类和实现类组成。在 Java 集合类中,主要有以下几种集合类型:


  1. List:元素按顺序排列的集合,可以通过位置访问集合中的元素,允许重复元素。

  2. Set:不允许重复元素的集合,没有顺序要求。

  3. Map:一种键值对形式的存储结构,每个键对应一个值。


接下来让我们来具体了解 Java 集合的三种基本类型。


一、List 集合


List 是一种有序的容器,可以通过索引值访问其中的元素。List 接口继承了 Collection 接口,同时增加了一些根据索引操作集合的方法。


实现 List 的类有 ArrayList、LinkedList 和 Vector。其中最常用的是 ArrayList 和 LinkedList。ArrayList 是一种动态数组,可以根据需要自动扩展数组的大小,而 LinkedList 是一种链表结构,每个元素都包含一个指向前一个和后一个元素的引用。


下面是一个使用 ArrayList 的例子:


import java.util.ArrayList;import java.util.List;
public class TestList { public static void main(String[] args) { List<String> list = new ArrayList<String>();
list.add("Hello"); list.add("World"); list.add("Java");
System.out.println(list.get(1)); //输出结果为World }}
复制代码


二、Set 集合


Set 是一种不允许重复元素的集合。Set 继承了 Collection 接口,由于 Set 中元素不能重复,因此添加元素时,需要判断集合中是否已经存在该元素。


实现 Set 的类有 HashSet、LinkedHashSet 和 TreeSet。HashSet 根据对象的 HashCode 值来确定元素在集合中的位置,而 LinkedHashSet 则按照元素插入的顺序排序。TreeSet 是基于红黑树实现的,可以对元素进行排序。


下面是一个使用 HashSet 的例子:


import java.util.HashSet;import java.util.Set;
public class TestSet { public static void main(String[] args) { Set<String> set = new HashSet<String>();
set.add("Hello"); set.add("World"); set.add("Java"); set.add("World"); //重复元素,不会添加到集合中
for (String s : set) { System.out.println(s); //输出Hello World Java } }}
复制代码


三、Map 集合


Map 是一种键值对形式的存储结构,每个键对应一个值。Map 接口提供了添加、删除、更新和查询键值对的方法。


实现 Map 的类有 HashMap、LinkedHashMap 和 TreeMap。HashMap 根据键的 HashCode 值来确定该键值对的位置,而 LinkedHashMap 保留了元素插入的顺序。TreeMap 则按照键的自然顺序排序。


下面是一个使用 HashMap 的例子:


import java.util.HashMap;import java.util.Map;
public class TestMap { public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Tom", 23); map.put("Jack", 27); map.put("Alice", 25);
System.out.println(map.get("Jack")); //输出结果为27 }}
复制代码


Java 集合还有很多其他的用法,比如 ConcurrentHashMap 适用于并发读写操作、Stack 适用于先进后出的栈操作等等。在 Java 面试中,也经常会涉及到集合类的细节问题,比如 ArrayList 和 LinkedList 的区别、HashMap 的原理和实现等等,要熟练掌握集合类的用法和知识点,才能通过 Java 面试。

发布于: 刚刚阅读数: 5
用户头像

(-0 , +0)

关注

还未添加个人签名 2018-12-27 加入

还未添加个人简介

评论

发布
暂无评论
Java常见集合类型及其异同点,简单使用_Java_(-0 , +0)_InfoQ写作社区