第十三章 集合

本文深入介绍了Java集合框架,包括ArrayLis、LinkedList、HashSet、TreeSet的区别与使用,以及List和Set的特性。文章还详细讲解了Map接口的HashMap和TreeMap,强调了哈希表结构和哈希冲突的概念,以及它们在存储和检索元素时的效率。
摘要由CSDN通过智能技术生成

今天我们来学习一下Java集合。我们使用基本数据类型定义的变量只能处理单一的数据,如果需要存储批量数据的话,就需要使用数组。但是数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)。因此,Java就提供了集合类,所有的集合类都位于 java.util包中!Java集合和数组的区别可以分为三点:

第一,    数组长度是固定的,集合的长度可变,也就是说集合可以扩容

第二,    数组即可以存储基本数据类型也可以存储引用数据类型,集合只能存储引用数据类型,集合要想存储基本数据类型的话,必须使用基本数据类型对应的包装类

第三,    数组只能存储单一数据类型,集合可以存储不同引用数据类型

从上面的图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面就是具体实现类,常用的有 ArrayList、LinkedList、HashSet、TreeSet 等等。接口Map下具体实现类中常用的就是HashMap了。

接下来,我们想看看Collection接口定义的一些方法:

  1. boolean add(E e) :在集合的末尾添加新元素e
  2. boolean remove(Object o) :删除集合中与元素o的值相等的元素
  3. void clear() :清除集合中所有元素。
  4. boolean contains(Object o) :判断集合中是否存在元素o
  5. boolean isEmpty() :判断集合是否为空
  6. int size() :返回集合中元素的个数
  7. boolean addALL(Collection c) :将一个集合c添加到当前集合中
  8. Object[] toArray() :返回当前集合的数组形式
  9. Iterator iterator() :返回迭代器,用于循环遍历集合

由于List和Set都继承自Collection接口,因此这两个都包含了上面的9个方法。那么List和Set有什么区别呢?他们的区别有三点,

  • List中的元素顺序是按照元素先后插入的顺序来的,而Set内的元素顺序则不是。
  • List中可以存储重复元素,而Set则是元素唯一的。
  • List是通过索引值来获取元素,类似数组,而Set则不能。

接下来,我们就通过代码示例来说明List和Set的使用和区别。

// ArrayList的使用
List list = new ArrayList();

// 添加基本数据类型对应的包装类
list.add(new Integer(100));

// 添加字符串对象
list.add("abc");

// 通过索引访问List元素
System.out.println("0索引:"+list.get(0));

// 循环遍历List
for(int i=0; i<list.size();i++)
System.out.print(lis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值