Java集合类-List Set Map接口

本文介绍了JAVA中的集合类,包括List、Set和Map。List是有序元素集合,支持添加、获取、修改和删除操作。Set是不重复元素的集合,有不同的实现如HashSet和TreeSet。Map是键值对集合,提供了HashMap、LinkedHashMap和TreeMap等实现。这些集合类提供了丰富的数据操作方法,是Java编程中常用的数据结构。
摘要由CSDN通过智能技术生成

一.List

List集合是一种常见的数据结构,它可以存储多个元素,并且这些元素的顺序是有序的。在许多编程语言中都有List集合的概念,它提供了一系列方法来操作和管理集合中的元素。

以下是一些常见的List集合操作:

1.添加元素:可以使用add()方法将元素添加到List集合的末尾,也可以使用add(index, element)方法将元素插入到指定的位置。

在这里插入图片描述
在这里插入图片描述

2.获取元素:从List集合中获取元素,可以使用get()方法。该方法接受一个索引值作为参数,并返回该索引位置上的元素。

在这里插入图片描述

3.修改元素:修改List集合中的元素,可以使用set()方法。该方法接受一个索引值和一个新元素作为参数,并将指定索引位置的元素替换为新元素。

在这里插入图片描述

4.删除元素:从List集合中删除元素,可以使用remove()方法。该方法有两种形式:
1.remove(int index);//删除指定索引位置上的元素。
2.remove(Object obj);//删除指定的对象元素,如果集合中存在多个相同的元素,则只删除第一个匹配的元素。

在这里插入图片描述
在这里插入图片描述

5.包含元素:可以使用contains(element)方法检查List集合中是否包含指定的元素。

在这里插入图片描述

6.遍历元素:可以使用for-each循环或者索引来遍历List集合中的元素。 获取集合大小:可以使用size()方法获取List集合中元素的个数。

在这里插入图片描述

需要注意的是,在不同的编程语言中,List集合的实现可能会有所不同,具体的方法和用法可能会有所区别。因此,在使用List集合时,最好查阅相关的文档或手册,以了解具体的用法和语法。

二.Set

Set集合是Java中的一种集合类型,它是由一组不重复、无序的元素组成。Set集合在实现上通常使用哈希表或树结构,它提供了高效的插入、删除和查找操作。

在Java中,常见的Set集合实现类有HashSet、LinkedHashSet和TreeSet。每个实现类在特性和使用方式上略有不同,你可以根据需求选择适合的实现类。

以下是对Set集合实现类的简要介绍:

1.HashSet:使用哈希表实现,元素无序,不允许有重复元素。插入、删除和查找操作的时间复杂度都接近常数时间,即O(1)。 LinkedHashSet:使用哈希表+链表实现,维护了元素的插入顺序。插入、删除和查找操作的时间复杂度也接近常数时间,但相对于HashSet稍微有些额外开销。
2.TreeSet:使用红黑树(自平衡二叉查找树)实现,元素按照自然顺序或指定的Comparator进行排序。插入、删除和查找操作的时间复杂度是O(logN),其中N是元素的数量。由于有序特性,TreeSet还提供了一些有序集合操作方法,如获取子集合、查找最小/最大元素等。

以下是使用HashSet和TreeSet的简单示例:
在这里插入图片描述
Set集合适合需要保持唯一性且不需要元素有特定顺序的场景。你可以根据自己的需求选择合适的Set集合实现类。

三.Map

Map集合是Java中的一种集合类型,它是以键值对(key-value)的形式存储和操作数据。Map集合保存了一组唯一的键和相应的值,键是用来查找值的唯一标识。

在Java中,常见的Map集合实现类有HashMap、LinkedHashMap、TreeMap和Hashtable。每个实现类在特性和使用方式上略有不同,你可以根据需求选择适合的实现类。

Map集合实现类的介绍:

HashMap:使用哈希表实现,根据键的哈希值存储和查找键值对。键是无序的,不允许有重复键,但值可以重复。插入、删除和查找操作都具有常数时间复杂度,即O(1)。
LinkedHashMap:在HashMap的基础上,维护了键值对的插入顺序。通过双向链表连接插入的元素,可以保留插入顺序,并提供按插入顺序或访问顺序遍历元素的能力。
TreeMap:使用红黑树(自平衡二叉查找树)实现,根据键的自然顺序或指定的Comparator对键进行排序。具有有序的键集合,并且提供了按键顺序遍历元素的能力。
Hashtable:使用哈希表实现,类似于HashMap,但线程安全。插入、删除和查找操作都是同步的,适用于多线程环境,但相对于HashMap开销较大。

Map接口的常用的方法:

方法功能
put(key, value);将指定的键与指定的值关联起来,并将其插入到Map中。如果键已经存在,则会替换旧的值。
get(key);返回与指定键关联的值,如果键不存在,则返回null。
remove(key);从Map中移除指定的键及其关联的值。
containsKey(key);如果Map中包含指定的键,则返回true。
containsValue(value);如果Map中至少有一个键映射到指定的值,则返回true。
size();返回Map中键值对的数量。
isEmpty();如果Map不包含任何键值对,则返回true。
keySet();返回Map中所有键的Set集合。
values();返回Map中所有值的Collection集合。
entrySet();返回Map中所有键值对的Set集合。

下面是使用Map接口的示例
在这里插入图片描述
Map接口提供了一种便利的方式来将键与值关联起来,并对其进行操作。你可以根据自己的需求使用Map接口及其实现类来处理键值对数据。

四.总结

整理的并不是很完善从上得知这些集合类提供了丰富的方法和操作,可以让我们方便地进行数据的添加、获取、删除和遍历等操作。它们是Java中常用的数据结构,可以满足各种不同的需求。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值