简单了解java集合

在这里插入图片描述
1.Java集合是java提供的一个工具包,全部继承自java.util.*。主要包括两大接口Collection接口和Map接口

2.集合大致分为
List
Set
Map
Queue(不常用)

  1. List、Set、Queue的父接口是Collection
  2. Map与List、Set没有任何关系
    3Collection的父接口是Iterator(迭代器接口)

3.List
List常用的两种实现类ArrayList、LinkedList 区别
1、ArrayList是数组结构,而LinkedList是链表结构
2、ArrayList查询的速度比LinkedList查询的速度快
3、ArrayList增加删除的速度比LinkedList增加删除的速度慢

4.Set
Set的实现类有HashSet和TreeSet。LinkedHashSet
1、HashSet的速度最快
2、TreeSet有排序功能
3、LinkedHashSet有顺序

5.Map
Map是一个映射接口,通过key-value键值对实现。常用实现类有HashMap,TreeMap,LinkedHashMap
1、HashMap:速度最快,没有顺序
2、TreeMap:有排序功能
3、LinkedHashMap:有顺序

6.Queue
特点:先进先出
在这里插入图片描述

7.Collection接口的remove()方法和Iterator接口的remove()方法区别?
①性能方面

Collection的remove方法必须首先找出要被删除的项,找到该项的位置采用的是单链表结构查询,单链表查询效率比较低,需要从集合中一个一个遍历才能找到该对象;

Iterator的remove方法结合next()方法使用,比如集合中每隔一项删除一项,Iterator的remove()效率更高

②容错方面

在使用Iterator遍历时,如果使用Collection的remove则会报异常,会出现ConcurrentModificationException,因为集合中对象的个数会改变而Iterator 内部对象的个数不会,不一致则会出现该异常

在使用Iterator遍历时,不会报错,因为iterator内部的对象个数和原来集合中对象的个数会保持一致

8、HashMap与HashSet的区别
1、HashMap实现了Map接口,HashSet实现了Set接口
2、HashMap存储键值对,HashSet存储对象
3、HashMap相当于HashSet较快
4、添加元素时HashMap是用put(),HashSet用add()

9、List、Set、Map之间的区别
1、list和set都继承Collection,map不是Collection的子接口
2、list可以有重复的值,set不能有重复的值,map是键值对,键不能重复,值可以重复
3、list可以插入多个null,set只能有一个null,map键只能有一个,值可以有多个
4、list有顺序,set没有顺序,map也没有顺序

10.Array与ArrayList有什么区别
1.ArrayList是Array的复杂版本
2.存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据
3.长度的可变:Array的长度是固定的,而ArrayList的长度是可变的

11、HashMap和HashSet区别

实现了map接口

HasHMapHashSet
实现了Map接口实现了Set接口
存储键值对存储对象
调用put()向map中添加元素调用add()向set中添加元素
HashMap使用key计算hashcodeHashSet使用成员对象计算hashcode
HashMap相对于HashSet较快,因为它是使用唯一的键获取对象HashSet较HashMap来说比较慢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值