java中的集合的根接口Collection以及迭代器
来源:互联网 发布:painter自动上色软件 编辑:程序博客网 时间:2024/06/06 10:14
集合
集合和数组相同的是二者都是一个集合
不同的是数组中只能装同一类型的数据,并且数组的长度一旦确定下来就不能再改变了,集合中可以装不同类型的数据,但是只能装引用数据类型,当然基本数据类型自动装箱后也可以装进去,另外集合的长度是可以改变的.
集合的分类: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");//往集合中添加元素用addcollection.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,反之返回falsecollection.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)//打印出可遍历的元素}
阅读全文
0 0
- java中的集合的根接口Collection以及迭代器
- Collection--Java中的collection(集合)接口综述
- java中的集合框架Collection 接口 Map接口的问题
- Java中的集合类Collection接口和Map接口以及列表和LinkedList类
- Java中的集合collection以及与C++的比较
- Java中的集合Collection以及对应的子类list类
- Java Collection集合接口
- java 集合Collection接口
- Java 集合Collection接口的基本方法
- Java集合Collection接口的一些方法
- 【java集合一】根接口Collection、Map
- [学习笔记]Java集合框架以及Collection顶层接口
- java中的集合Collection
- JAVA中的集合类接口——Collection
- 10002--Java集合--Collection 接口
- Java集合之Collection接口
- Java集合之Collection接口
- Java基础之集合框架--Collection根接口(集合框架的共性功能)
- 日期比较compareTo遇到的坑!!源码分析
- 国内Android开发技术大牛推介
- ubuntu phpmyadmin 错误提示: 缺少 mcrypt 扩展,请检查 php 配置
- python攻关之列表-创建列表
- Java序谈之集合类
- java中的集合的根接口Collection以及迭代器
- “人工智能与法律”对AI产品经理有何实际借鉴意义
- 多线程基础篇2-------<mutex>
- 执行history显示命令执行时间
- jsp之tld和tag自定义标签的两种方式的区别
- GitHub commits / branches / releases / contributors
- python利用h5py模块读取matlab中的mat文件并打印矩阵的数据类型,尺寸,数据
- 情报加密
- 线性探测-Hash表的创建-查找