Collection接口中常用的方法
关于java.util.Collection接口中常用的方法
-
Collection中能放什么元素
没有使用“泛型”之前,Collectiom中可以存放Object的所有子类型
使用了“泛型”之后,Collection中只能存放某个具体的类型。
(集合中不能存储基本数据类型,也不能存储Java对象,只能存储Java对象的内存地址) -
Collection中的常用方法
boolean add(Object e)//向集合中添加元素
int size()获取集合中元素个数
void clear() 从此集合中删除所有元素(可选操作)
boolean contains(Object o) 如果此集合包含指定的元素,则返回 true
boolean remove(Object o) 从该集合中删除指定元素的单个实例(如果存在)(可选操作)。
boolean isEmpty() 如果此集合不包含元素,则返回 true 。
Object[] toArray() 返回一个包含此集合中所有元素的数组。
Iterator
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest01 {
public static void main(String[] args) {
//创建一个集合对象
//Collection collection = new Collection;接口不能创建对象,接口时抽象的,无法实例化
//多态
Collection c= new ArrayList();
//测试Collection接口中常用的方法
c.add(1200);//自动装箱(Java5新特性),实际上放进去一个对象地址。Integer x = new Integer(1200);
c.add(3.14);
c.add(new Object());
c.add(new Student());
c.add(true);//自动装箱
//获取集合中元素个数
System.out.println("集合中元素个数是:"+c.size());//5个元素,不是length
c.clear();
System.out.println("集合中元素个数是:"+c.size());// 0个元素
c.add("hello");//“hello”对象的内存地址放到集合中
c.add("world");
c.add("浩克");
c.add("绿巨人");
c.add(1);
//判断集合中是否包含“绿巨人”
boolean flag = c.contains("绿巨人");
System.out.println(flag);//true
boolean flag2 = c.contains("绿巨人2");
System.out.println(flag2);//false
System.out.println(c.contains("1"));//true
//删除集合中某个元素
c.remove(1);
//判断集合是否为空
System.out.println(c.isEmpty());//false
//转换成数组
Object[] objs= c.toArray();
for (int i = 0; i < objs.length; i++) {
//遍历数组
System.out.println(objs[i]);//这里自动调用toString()
}
}
}
关于集合遍历,迭代专题(重点*********)
迭代器是一个对象。迭代器对象有两个方法,hasNext()和next()
/*
*关于集合遍历,迭代专题(重点)
*Iterator<E> iterator() 返回此集合中的元素的迭代器。
*/
public class CollectionTest02 {
public static void main(String[] args) {
//注意:一下讲解的遍历方式/迭代方式,是所有的Collection通用的一种方式
//在Map集合中不能使用,在所有的Collection以及子类中使用。
//创建集合对象
Collection c = new ArrayList();//后面的集合无所谓,主要看前面的Collection接口
//添加元素
c.add("abc");
c.add("def");
c.add(100);
c.add(new Object());
//对集合Collection遍历/迭代
//第一步:获取对象的迭代器对象 Itertor
Iterator it = c.iterator();
//第二步,通过以上获取的迭代器对象开始迭代/遍历集合
/*
以下方法是迭代器Iterator中的方法:
boolean hasNext() 如果迭代具有更多元素,则返回 true 。
Object next() 返回迭代中的下一个元素。
default void remove() 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。
* */
boolean hasNext = it.hasNext();
if(hasNext){
//不管你存进去什么取出来统一是Object
Object obj = it.next();
System.out.println(obj);
}
if(hasNext){
//不管你存进去什么取出来统一是Object
Object obj = it.next();
System.out.println(obj);
}
if(hasNext){
//不管你存进去什么取出来统一是Object
Object obj = it.next();
System.out.println(obj);
}
if(hasNext){
//不管你存进去什么取出来统一是Object
Object obj = it.next();
System.out.println(obj);
}
}
}
/*
* 关于集合的遍历/迭代
* */
public class CollectionTest03 {
public static void main(String[] args) {
//创建集合对象
Collection c1 = new ArrayList();//ArrayList集合:有序可以重复
//添加元素
c1.add(1);
c1.add(2);
c1.add(3);
c1.add(4);
c1.add(1);
//迭代集合
Iterator it = c1.iterator();
while(it.hasNext()){
//存进去什么类型,取出来是什么类型,只是在输出的时候,println会调用toString()方法
System.out.println(it.next());
}
//HashSet集合:无序不可重复
Collection c2 = new HashSet();
//无序:存进去,和取出来的顺序不一定相同。
c2.add(100);
c2.add(200);
c2.add(90);
c2.add(20);
c2.add(300);
c2.add(50);
c2.add(100);
Iterator it1 = c2.iterator();
while(it1.hasNext()){
System.out.println(it1.next());
}
}
}
标签:Java,迭代,Object,接口,println,add,Collection,集合
From: https://www.cnblogs.com/shijili/p/18002081