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)
    );
    }
}
相关推荐
嘻哈∠※6 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
WWJA王文举6 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha13147 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
白狐_7987 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2587 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
qq_448011168 小时前
C语言中的动态内存分配
c语言·开发语言·php
汉字萌萌哒8 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter9 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
极创信息9 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate