java中的集合的根接口Collection以及迭代器
2017-12-15 21:07
375 查看
集合
集合和数组相同的是二者都是一个集合
不同的是数组中只能装同一类型的数据,并且数组的长度一旦确定下来就不能再改变了,集合中可以装不同类型的数据,但是只能装引用数据类型,当然基本数据类型自动装箱后也可以装进去,另外集合的长度是可以改变的.
集合的分类:Collection是集合的根接口,它有俩子接口Set和List;Set下面又有三个实现类:ArrayList,LinkedList和Verctor;Set下面有俩实现类:HashSet和TreeSet.
具体的关系入下图:
我们先来学习一下Collection,首先Collection是个接口,所以Collection是没有构造方法的,不能直接进行初始化,这里我们利用多态的方式进行初始化,根据Collection的实现类ArrayList来创建Collection的对象.
下面我们来学习一下collection的一些常用的API
1.添加
注意add()和addAll()的区别
2.
3.remove()和removeAll()的区别
4.retainAll
迭代器
迭代器(Iterator)模式,又叫做游标模式,它的含义是,提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。
每一个集合都用一个迭代器,用来遍历集合的.
迭代器能遍历数组主要需要用到两个API:hasNext()和next();
hasNext()返回值是一个boolean类型,当返回true,就说明集合中还有元素可以遍历,next()是用来获取这个元素的
输出结果是[a,b,c,d];
下面我们来遍历
集合和数组相同的是二者都是一个集合
不同的是数组中只能装同一类型的数据,并且数组的长度一旦确定下来就不能再改变了,集合中可以装不同类型的数据,但是只能装引用数据类型,当然基本数据类型自动装箱后也可以装进去,另外集合的长度是可以改变的.
集合的分类:Collection是集合的根接口,它有俩子接口Set和List;Set下面又有三个实现类:ArrayList,LinkedList和Verctor;Set下面有俩实现类:HashSet和TreeSet.
具体的关系入下图:
我们先来学习一下Collection,首先Collection是个接口,所以Collection是没有构造方法的,不能直接进行初始化,这里我们利用多态的方式进行初始化,根据Collection的实现类ArrayList来创建Collection的对象.
Collection collection = new ArrayList();//根据实现类来定义接口 collection.add("a");//往集合中添加元素 collection.add("b");//往集合中添加元素用add collection.add(18); //能装基本数据类型是因为系统对参数做了个向上转型,将所有括号中的参数的数据类型转换为Object
下面我们来学习一下collection的一些常用的API
1.添加
注意add()和addAll()的区别
Collection collection = new ArrayList();//根据实现类来定义接口 Collection collection1 = new ArrayList();//根据实现类来定义接口 collection.add("a"); collection.add("b"); collection.add("c"); collection1.add("d"); collection1.add("e"); collection.add(collection1);//这里是把collection1作为一个元素传入集合 collection.addAll(collection1);//这里是把collection1中的所有元素传入collection.
2.
Collection collection = new ArrayList(); collection.add("a"); int number= collection.size()//获取集合的长度 boolean bool = collection.isEmpty;//判断集合是否为空 boolean bool1 =collection.contains("a");//判断集合是否包含字符串"a" collection.remove("a");//删除集合中"a",如果集合中有要删除的对象则返回true,反之返回false collection.clear();//清空集合
3.remove()和removeAll()的区别
Collection collection = new ArrayList(); collection.add("a"); collection.add("b"); collection.add("c"); collection.add("d"); Collection collection1 = new ArrayList(); collection.add("c"); collection.add("d"); collection.remove(collection);//返回值为false,因为collection没有collection1这个元素 collection.removeAll(collection1);//返回值为true,因为这个是把collection1中的所有元素移除,也就是说移除collection与collection1中的公共部分
4.retainAll
Collection collection = new ArrayList(); collection.add("a"); collection.add("b"); collection.add("c"); collection.add("d"); Collection collection1 = new ArrayList(); collection.add("c"); collection.add("d"); collection.retainAll(conllection1);//保留collection和collection1的公共部分,如果有collection改动了返回值就为true,否则就为false
迭代器
迭代器(Iterator)模式,又叫做游标模式,它的含义是,提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。
每一个集合都用一个迭代器,用来遍历集合的.
迭代器能遍历数组主要需要用到两个API:hasNext()和next();
hasNext()返回值是一个boolean类型,当返回true,就说明集合中还有元素可以遍历,next()是用来获取这个元素的
Collection collection0 = new ArrayList(); collection0.add("a"); collection0.add("b"); collection0.add("c"); collection0.add("d"); System.out.println(collection0);//系统在输出引用数据类型的数据时会自动调用.toString()方法
输出结果是[a,b,c,d];
下面我们来遍历
Iterator iterator = collection.iterator();//用集合调用获取迭代器的方法来得到迭代器 while(iterator.hasNext())//循环条件是集合中没有可遍历的元素 { System.out.println(iterator.next)//打印出可遍历的元素 }
相关文章推荐
- Java之集合框架 List接口的特有方法、迭代器的并发修改异常以及LinkedList特有方法
- java学习脚印:集合(Collection)之接口
- Java 集合之Collection 接口和遍历方法
- java 集合框架(1)奠定基础的接口和Collection
- Java集合之Collection接口
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- 黑马程序员-JAVA基础-Java 集合之Collection 接口和遍历方法
- 黑马程序员--Java学习日记之集合(collection类与list接口)及泛型概述
- Java框架集合:Collection<E>、Iterable<T>和Iterator<E>接口
- java集合(1):集合框架体系之Collection接口及迭代器Iterator接口
- 深入Java基础(三)--集合(1)集合父类以及父接口源码及理解
- Java基础知识强化之集合框架笔记07:Collection集合的遍历之迭代器遍历
- Java中的集合Collection以及对应的子类list类
- [疯狂Java]集合:Java集合框架、Collection、forEach遍历器/Consumer函数接口、forEach遍历集合
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- java中的集合,迭代器的使用以及java中的异常
- Java Collection集合接口
- [疯狂Java]集合:Collection的迭代器Iterator、使用Predicate筛选集合中的元素
- Java基础进阶_day07_(泛型,Collection集合,迭代器,增强for循环)