package 集合;
import java.util.*;
import java.util.stream.Stream;
public class Collection {
public static void main(String[] args) {
java.util.Collection<String> list = new ArrayList<>();
java.util.Collection<String> ls = new ArrayList<>();
//初始化数据
Test01(list, ls);
//测试数据 2个集合的操做
Test02(list, ls);
//单项测试
Test03(list);
System.out.println(list);
System.out.println(ls);
}
private static void Test03(java.util.Collection<String> list) {
//暂不明作用!
if (false) {
Spliterator<String> sss = list.spliterator();
}
//暂不明作用!
if (false) {
Stream<String> s = list.stream();
}
//清空元素
//list.clear();
//如果集合中有这个元素则返回true
if (false) {
boolean b = list.contains("武器大师");
if (b) {
System.out.println("lsit中包含武器大师");
}
}
//返回此集合的哈希码值
if (false) {
int i = list.hashCode();
System.out.println("哈希码值为" + i);
}
//如果此集合不包含元素,则返回 true
if (false) {
if (list.isEmpty()) {
System.out.println("此集合为空!");
} else {
System.out.println("此集合不为空!");
}
}
//迭代器的使用
if (false) {
//返回此集合中的元素的迭代器
Iterator<String> it = list.iterator();
//使用迭代器遍元素
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
}
//从该集合中删除指定元素的单个实例(如果存在)(可选操作)
if (false) {
boolean b = list.remove("武器大师");
boolean b1 = list.remove("螳螂");
if (b) {
System.out.println("删除武器大师成功");
} else {
System.out.println("武器大师不存在");
}
if (b1) {
System.out.println("删除螳螂成功");
} else {
System.out.println("螳螂不存在");
}
}
//返回此集合中的元素数
if (false) {
int size = list.size();
System.out.println("list对象的元素个数为: " + size);
}
//返回一个包含此集合中所有元素的数组
if (false) {
Object[] o = list.toArray();
System.out.println(Arrays.toString(o));
}
/**
* 如果 形参数组大小大于list的元素长度 则把list元素 存入形参
* if(list.size>array.length) array数组将不会得到数据
* if(list.size<=array.length) array数组将会得到list的所有元素
* list.toArray(T[])最终都会返回一个数组
*/
if (false) {
//if(list.size>array.length)
if (true) {
String[] str = new String[list.size() - 1];
String[] str1 = list.toArray(str);
System.out.println(str);
System.out.println("str.len<list.size 所以str没有得到元素");
System.out.println("list的返回值仍然能接到元素\n" + str1);
}
if (true) {
String[] str = new String[list.size()];
String[] str1 = list.toArray(str);
System.out.println("str得到了所有元素!");
System.out.println(str);
System.out.println("list的返回值仍然能接到元素\n" + str1);
}
}
}
private static void Test02(java.util.Collection<String> list, java.util.Collection<String> ls) {
//把ls数据全部添加到list中
list.addAll(ls);
//存在相同元素直接清空了 暂时不了解全部用法
//删除满足给定谓词的此集合的所有元素
if (false) {
boolean b = list.removeIf(List -> list.contains("武器大师"));
if (b) {
System.out.println("存在相同元素");
} else {
System.out.println("不存在相同元素");
}
}
//如果list中包含ls中的所有元素则返回true
if (false) {
boolean b = list.containsAll(ls);
if (b) {
System.out.println("list中包含ls中的所有元素!");
}
}
//删除指定集合中包含的所有此集合的元素
if (false) {
boolean b = list.removeAll(ls);
if (b) {
System.out.println("list与ls存在的相同元素删除完毕");
} else {
System.out.println("list与ls不存在相同元素");
}
}
//仅保留此集合中包含在指定集合中的元素
if (false) {
boolean b = list.retainAll(ls);
if (b) {
System.out.println("仅保留了 集合中 包含在ls集合中的元素");
} else {
System.out.println("不存在相同元素,集合被清空");
}
}
}
private static void Test01(java.util.Collection list, java.util.Collection ls) {
list.add("武器大师");
list.add("青钢影");
list.add("卡兹克");
list.add("亚索");
ls.add("王者荣耀");
ls.add("和平精英");
ls.add("原神");
ls.add("英雄联盟");
}
}