Collection

Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用。

1.添加元素

java 复制代码
public class test {
     public static void main(String [] args) {
    	Collection<String> col=new ArrayList<>();
    	col.add("aaa");
    	col.add("bbb");
    	System.out.println(col);
     }
}

2.清空元素

java 复制代码
public class test {
     public static void main(String [] args) {
    	Collection<String> col=new ArrayList<>();
    	col.add("aaa");
    	col.add("bbb");
    	col.clear();//清空元素
    	System.out.println(col);
     }
}

3.删除元素

java 复制代码
public class test {
     public static void main(String [] args) {
    	Collection<String> col=new ArrayList<>();
    	col.add("aaa");
    	col.add("bbb");
    	col.remove("aaa");//删除元素
    	System.out.println(col);
     }
}

4.集合中是否包含元素

java 复制代码
public class test {
     public static void main(String [] args) {
    	Collection<String> col=new ArrayList<>();
    	col.add("aaa");
    	col.add("bbb");
    	col.contains("bbb");//是否包含
    	System.out.println(col.contains("bbb"));
    	System.out.println(col);
     }
}

5.集合是否为空

java 复制代码
public class test {
     public static void main(String [] args) {
    	Collection<String> col=new ArrayList<>();
    	col.add("aaa");
    	col.add("bbb");
    	System.out.println(col.isEmpty());//是否为空
    	//System.out.println(col);
     }
}

6.集合长度

java 复制代码
public class test {
    public static void main(String [] args) {
   	Collection<String> col=new ArrayList<>();
   	col.add("aaa");
   	col.add("bbb");
   	System.out.println(col);
   	System.out.println(col.size());//集合长度
    }
}

Collection遍历方式

1.迭代器遍历

迭代器在java中的类是Iterator,迭代器是集合专用的遍历方式。迭代器不依赖索引。

java 复制代码
public class test {
    public static void main(String [] args) {
   	Collection<String> col=new ArrayList<>();
   	col.add("aaa");
   	col.add("bbb");
    col.add("ccc");
    col.add("ddd");
    //利用迭代器遍历
    Iterator<String> it=col.iterator();
    while(it.hasNext()) {
    	String str=it.next();
    	System.out.println(str);
    }
    }
}

迭代器遍历完后,指针不会复位。

迭代器遍历时,不能用集合的方法对集合进行增加或删除。迭代器中有删除方法:it.remove();

增加方法没有。

迭代器删除元素:

java 复制代码
public class test {
    public static void main(String [] args) {
    	
    	   	Collection<String> col=new ArrayList<>();
    	   	col.add("aaa");
    	   	col.add("bbb");
    	    col.add("ccc");
    	    col.add("ddd");
    	    //利用迭代器遍历
    	    Iterator<String> it=col.iterator();
    	    while(it.hasNext()) {
    	    	String str=it.next();
    	    	if("aaa".equals(str)) {
    	    		it.remove();
    	    	}
    	    	//System.out.println(str); 
    	}
    	    System.out.println(col);
    }
}

2.增强for遍历

增强for遍历底层就是迭代器,为简化迭代器代码书写的;所有的单列集合和数组才能用增强for遍历;修改增强for遍历中的变量,不会改变集合中原本数据。

java 复制代码
public class test {
    public static void main(String [] args) {
   	Collection<String> col=new ArrayList<>();
   	col.add("zhangsan");
   	col.add("lisi");
    col.add("wangwu");
    //利用增强for遍历
    for(String s:col) {
    	System.out.println(s);
    }
    
    }
}

3.Lambda表达式

先用匿名内部类:

java 复制代码
public class test {
    public static void main(String [] args) {
   	Collection<String> col=new ArrayList<>();
   	col.add("zhangsan");
   	col.add("lisi");
    col.add("wangwu");
    //利用Lambda表达式
    col.forEach(new Consumer<String>(){//先用匿名内部类
		@Override
		public void accept(String t) {
			System.out.println(t);
		}
    });
    }
}

再用lambda表达式

java 复制代码
public class test {
    public static void main(String [] args) {
   	Collection<String> col=new ArrayList<>();
   	col.add("zhangsan");
   	col.add("lisi");
    col.add("wangwu");
    //利用Lambda表达式
    col.forEach((String t)->
			System.out.println(t)
    );
    }
}
相关推荐
蜡笔小新星3 分钟前
机器学习和深度学习的区别
开发语言·人工智能·经验分享·深度学习·学习·机器学习
齐 飞13 分钟前
使用jackson将xml和对象、List相互转换
xml·java·spring boot·后端·list
liwulin050613 分钟前
java-在ANTLR中BaseListner的方法和词法规则的关系0.5.0
java·开发语言
梦里花乡22 分钟前
Matlab 的.m 文件批量转成py文件
开发语言·matlab
SofterICer29 分钟前
PE-PINCodes 规则
java
归去来兮★34 分钟前
c++面向对象
java·开发语言·c++
Aimyon_3634 分钟前
DockerFile
java·开发语言
疑惑的杰瑞1 小时前
[C语言]连子棋游戏
c语言·开发语言·游戏
wrx繁星点点1 小时前
创建型模式-单例模式
java·开发语言·单例模式
杨~friendship1 小时前
Ubuntu上使用qt和opencv显示图像
linux·开发语言·c++·qt·opencv·ubuntu