首页 > 编程语言 > 详细

Java集合类

时间:2020-04-02 19:28:14      阅读:53      评论:0      收藏:0      [点我收藏+]

Java集合类

Java集合大致分为Set,List,Queue和Map四类。Set代表无顺、不可重复的结合;List代表有序、重复的集合;而Map 代表ket-value具有映射关系的集合,Queue代表一种队列集合的实现。 

Java集合类:java.util.*包

Java的集合类主要是由两个接口派生出来:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口包含了一些子接口和实现类。

Collection和Iterator接口

Collection接口是List、Set和Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue结合。

Collection接口的操作元素的方法:

boolean add(Object o) 该方法用于向集合里添加一个元素。如果集合对象被添加操作改变了,则返回true。

boolean addAll(Collection c)该方法把集合c里的元素添加到指定集合里。

void clear()清除集合里的所有元素,将集合长度变为0。

boolean contains(Object o) 返回集合里是否包含c里的所有元素

boolean containsAll(Collection c)返回集合里是否包含集合c里的所有元素

boolean isEmpty()返回集合是否为空。当集合长度为0时返回true,否则返回false。

Iterator iterator()返回一个Iterator对象,用于遍历集合里的元素。

boolean remove(Object o) 删除集合中的指定元素o,当集合中包含一个或多个元素o时,该方法只删除第一个符合条件的元素,并返回true。

boolean removeAll(Collection c) 从集合里删除集合c里包含的元素。

boolean retainAll(Collection c) 从集合里删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集)。

Object[] toArray() 该方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。

Iterator接口

Iterator接口是Java集合框架的成员,是Collection接口的父接口,隐藏了各种Collection实现类的底层细节。

Iterator定义的方法:

boolean hasNext()如果被迭代的集合元素还没有被遍历完,则返回true。

Object next()返回集合里的下一个元素。

void remove()删除集合里上一次next方法返回的元素。

void forEachRemaining(Consumer action)该方法可以使用Lambda表达式来遍历集合元素。

 1 @Slf4j
 2 public class ListTest {
 3     public static void main(String[] args){
 4         List<String> list = Lists.newArrayList();
 5         list.add("Mark");
 6         list.add("Jack");
 7         list.add("Bob");
 8         Iterator<String> iterator = list.iterator();
 9         while (iterator.hasNext()){
10             String name = iterator.next();
11             log.info("name:{}", name);
12         }
13     }
14 }
使用Lambda表达式来遍历:iterator.forEachRemaining(o -> log.info("name:{}", o));
Iterator快速失败机制(fast-fail机制):
Iterator在迭代过程中,检测到该集合已经被修改(通常是程序中的其他线程的修改),程序将引发ConcurrentModifyException异常,而不是显示修改后的结果,这样可以避免共享资源引发的
潜在问题。HashSet和List一般都会发生异常。



Java集合类

原文:https://www.cnblogs.com/seedss/p/12622069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!