java中集合框架

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

集合框架主要分为两个集合接口,分别为Collection接口和Map接口,Collection是单列集合,Map是双列集合

集合和数组的区别:

1.数组长度固定,集合长度是可变的

2.数组元素的类型必须是同一种类型,集合元素的类型可以是不同的类型

 

集合的顶级接口Collection<E>

子接口:List,Set,Queue(很少使用)

区别:

1.List有序的,有下标,可以重复的

2.Set是无序的(除去LinkHashSet),不可重复的

 

List的主要实现类:ArrayList,LinkedList,Vector(线程安全,比较老,效率低)

ArrayList底层使用数组实现,LinkedList底层使用链表实现

 

Set的主要实现类:HashSet,LinkedHashSet

HashSet底层使用Hash表实现的,LinkedHashSet底层使用链表+hash表实现的,1.8之后当hash表中的元素超过8个元素时使用Tree进行存储

 

 

一些共用常方法:

1. public boolean add(E e):添加一个元素
2. public void clear():清空集合中所有的元素
3. public boolean remove(E e):移除集合中指定的元素
4. public boolean contains(E e):检查集合中是否包含指定的对象
5. public boolean isEmpty():判断集合是否为空
6 .public void size():判断集合中元素的个数
7. public Object[] toArray():把集合元素存储到数组中

8. Iterator<E> iterator() 返回此集合中的元素的迭代器

使用迭代器或者增强for循环进行遍历集合中的元素

迭代器iterator的使用,来自java.util.iterator,作用是为了各式各样的集合,开发了一个统一的取出集合元素的接口,其主要有两种常用使用方法
1 boolean hasNext():如果集合中还有下一个元素,就返回true,否则返回false
2 E next():取出集合中的下一个元素
使用迭代器需要使用Collection接口的iterator()方法,其返回的就是一个迭代器iterator实现类对象,有了实现类对象才能使用里面的方法
使用迭代器的基本步骤:
1 先使用Collection集合的iterator()方法获取iterator实现类对象,并使用一个iterator接口来接收,接口指向对象,为多态的应用
2 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
3 使用迭代器的next()方法取出集合中下一个元素

 
增强型for循环使用

增强型for循环的使用,Collection接口继承父接口Iterable,这个父接口的作用就是允许对象成为for-each循环的目标,增强型for循环的目的主要是遍历集合或数组元素。
使用格式:
for(集合或数组数据类型 变量名:集合或数组名){
   方法体
 }

 

如何比较一个元素是否相等,我们一般有步骤是:

1.通过hash码比较,如果hash码值相等

2.通过equals方法比较,如果元素内容相等,则是同一个元素,反之不是同一个元素

 

 

Map:主要实现类:HashMap,LinkedHashMap

常用方法:

void clear():清空所有映射关系

boolean equals(Object o):比较对象是否和此映射相等

Set<K> keySet():返回所有Key值的Set集合

V get(Object key):返回Key值所映射的值

int size:返回映射关系数

V put(K key,V value):将指定的值与键关联

 

Map基本上都使用HashMap

 

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看