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)
    );
    }
}
相关推荐
k***92162 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
执笔论英雄4 分钟前
【RL]expand_requests干啥的
服务器·开发语言·python
kesifan5 分钟前
JAVA线程的建立方法
java·开发语言·python
周杰伦fans6 分钟前
C#中ValueTask
开发语言·c#
qq_336313938 分钟前
java基础-set类集合进阶
java·算法
菠菠萝宝11 分钟前
【Java手搓OpenManus】-5- 工具系统设计
java·开发语言·人工智能·openai·agent·manus
d***93516 分钟前
Spring Boot 自动配置
java·spring boot·后端
h***673716 分钟前
Spring Boot文件上传
java·spring boot·后端
kyle~17 分钟前
数据结构---堆(Heap)
服务器·开发语言·数据结构·c++
渡我白衣18 分钟前
哈希的暴力美学——std::unordered_map 的底层风暴、扩容黑盒与哈希冲突终极博弈
java·c语言·c++·人工智能·深度学习·算法·哈希算法