当前位置:网站首页 > Java基础 > 正文

java集合基础入门



Java集合详解

1.集合

1.1、什么是集合

​ 在java中,集合(Collection)指的是一组数据容器,它可以存储多个对象,并且允许用户通过一些方法来访问与操作这些对象。java提供了一系列接口和类来支持不同类型的集合。 接口,主要用于存放单一元素; 接口,主要用于存放键值对。

在这里插入图片描述

1.2、collection集合常用方法
方法声明 功能描述 boolean add(Object o) 向集合中添加一个元素 boolean addAll(Collection c) 将指定Collection中的所有元素添加到该集合中 void clear() 删除该集合中的所有元素 boolean remove(Object o) 删除该集合中指定的元素 boolean removeAll(Collection c) 删除指定集合中的所有元素 boolean isEmpty() 判断该集合是否为空 boolean contains(Object o) 判断该集合中是否包含某个元素 boolean containsAll(Collection c) 判断该集合中是否包含指定集合中的所有元素 Iterator iterator() 返回在该集合的元素上进行迭代的迭代器(Iterator),用于遍历该集合所有元素 int size() 获取该集合元素个数
1.3、List接口简介

​ List接口继承自Collection接口,存取有序,有索引,允许存储重复的值。List接口主要有两个实现类,分别是ArrayList和LinkedList,List接口常用方法如下:

方法声明 功能描述 void add(int index,Object element) 将元素element插入在List集合的index处 boolean addAll( int index,Collection c) 将集合c所包含的所有元素插入到List集合的index处 Object get(int index) 返回集合索引index处的元素 Object remove(int index) 删除index索引处的元素 Object set(int index, Object element) 将索引index处元素替换成element对象,并将替换后的元素返回 int indexOf(Object o) 返回对象o在List集合中出现的位置索引 int lastIndexOf(Object o) 返回对象o在List集合中最后一次出现的位置索引 List subList(int fromIndex, int toIndex) 返回从索引fromIndex(包括)到 toIndex(不包括)处所有元素集合组成的子集合
1.4、set接口简介

​ Set接口继承自Collection接口,它与Collection接口中的方法基本一致,Set接口中元素无序,不允许重复。Set接口主要有两个实现类,分别是HashSet和TreeSet。其中,HashSet是根据对象的哈希值来确定元素在集合中的存储位置,具有良好的存取和查找性能。TreeSet则是以二叉树的方式来存储元素,它可以实现对集合中的元素进行排序。

1.5、map接口简介

​ Map接口是一种双列集合,以键值对的方式存储数据,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。常用方法如下:

方法声明 功能描述 void put(Object key, Object value) 将指定的值与此映射中的指定键关联(可选操作) Object java集合基础入门 get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null void clear() 移除所有的键值对元素 V remove(Object key) 根据键删除对应的值,返回被删除的值 int size() 返回集合中的键值对的个数 boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true Set keySet() 返回此映射中包含的键的 Set 视图 Collection values() 返回此映射中包含的值的 Collection 视图 Set<Map.Entry<K,V>>entrySet() 返回此映射中包含的映射关系的Set视图

2.List集合常用实现类

2.1、ArrayList

​ ArrayList底层基于数组实现,查询元素快,增删相对慢。

2.1.1、ArrayList长度可变的原理
  • 当创建 ArrayList 集合容器的时候, 底层会存在一个长度为10个大小的空数组
  • 当数组加满之后,会自动扩容原数组 1.5 倍大小的新数组
  • 将原数组数据,拷贝到新数组中
  • 将新元素添加到新数组
2.1.2、使用实例
 
2.1.3、迭代器遍历原理

在这里插入图片描述


2.2、LinkedList
2.2.1、实现原理

​ LinkedList 底层基于双链表实现的,查询元素慢,增删首尾元素是非常快的

在这里插入图片描述

2.2.2、常用特有方法
方法声明 功能描述 void add(int index, E element) 在此列表中指定的位置插入指定的元素 void addFirst(Object o) 将指定元素插入此列表的开头 void addLast(Object o) 将指定元素添加到此列表的结尾 Object getFirst() 返回此列表的第一个元素 Object getLast() 返回此列表的最后一个元素 Object removeFirst() 移除并返回此列表的第一个元素 Object removeLast() 移除并返回此列表的最后一个元素
2.2.3、代码示例
 

3.Set集合常用实现类

3.1、HashSet

​ HashSet 集合底层采取哈希表存储数据,它所存储的元素无序,不可重复

 

在这里插入图片描述

在这里插入图片描述

4.Map接口

 
4.1、map接口常用方法
方法声明 功能描述 void put(Object key, Object value) 将指定的值与此映射中的指定键关联(可选操作) Object get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null void clear() 移除所有的键值对元素 V remove(Object key) 根据键删除对应的值,返回被删除的值 int size() 返回集合中的键值对的个数 boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true Set keySet() 返回此映射中包含的键的 Set 视图 Collection values() 返回此映射中包含的值的 Collection 视图 Set<Map.Entry<K,V>>entrySet() 返回此映射中包含的映射关系的Set视图
4.2、HashMap

​ HashMap集合是Map接口的一个实现类,用于存储键值映射关系,但HashMap集合没有重复的键并且键值无序。

 
4.3、map集合练习
4.3.1、练习1

字符串 aababcabcdabcde,请统计字符串中每一个字符出现的次数,输出结果为: a(5)b(4)c(3)d(2)e(1)

 
4.3.2、练习2

  • 上一篇: java 数据库基础
  • 下一篇: 基础必学java
  • 版权声明


    相关文章:

  • java 数据库基础2025-04-26 22:02:05
  • java基础文档下载2025-04-26 22:02:05
  • 只会java基础知识2025-04-26 22:02:05
  • java基础需要英语2025-04-26 22:02:05
  • java基础预科编程2025-04-26 22:02:05
  • 基础必学java2025-04-26 22:02:05
  • scala java 基础2025-04-26 22:02:05
  • java核心基础75讲2025-04-26 22:02:05
  • java从零基础到精通2025-04-26 22:02:05
  • java基础加强方法2025-04-26 22:02:05