1.collection接口
1.1collection常用方法:
返回值类型 | 方法名以及用途 |
---|---|
boolean | add(E o) :确保 (添加)collection 包含指定的元素 |
boolean | addAll(Collection<? extends E> c) :将指定 collection 中的所有元素都添加到此 collection 中 |
void | clear() :清除 collection 中的所有元素 |
boolean | contains(Object o) :如果 collection 包含指定的元素o,则返回 true |
boolean | containsAll(Collection<?> c) :如果 collection 包含指定 collection(别的) 中的所有元素,则返回 true |
boolean | equals(Object o) :比较 collection 与指定对象是否相等 |
int | hashCode(): 返回 collection 的哈希码值 |
boolean | isEmpty() :如果 collection 不包含元素,则返回 true |
Iterator | iterator(); 返回在 collection 的元素上进行迭代的迭代器 |
boolean | remove(Object o): 从 collection 中删除指定元素的单个实例,如果存在的话才可以删除,不存在抛出异常 |
boolean | removeAll(Collection<?> c) :删除 collection 中那些也包含在指定 collection(别的) |
boolean | retainAll(Collection<?> c) :仅保留 collection 中那些也包含在指定 collection(别的) 的元素 |
int | size():返回 collection 中的元素数 |
Object[] | toArray():返回包含 collection 中所有元素的数组 |
< T > T[] | toArray(T[] a) :返回包含 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同 |
1.2相关代码
1.2.1代码code:
package mygather;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class MyCollection {
public static void main(String[] args) {
//创建collection接口的实现
Collection<String> collection = new ArrayList<>();
collection.add("1");
collection.add("2");
collection.add("3");
collection.add("4");
collection.add("5");
System.out.println(collection);
//使用lambda表达式遍历集合
// 1)foreach遍历
System.out.println("foreach遍历:");
collection.forEach(e -> System.out.print(e));
System.out.println();
// 2)使用方法引用简写
System.out.println("方法引用简写:");
collection.forEach(System.out::print);
System.out.println();
// 3)迭代器的forEachRemaining方法
System.out.println("迭代器的forEachRemaining方法:");
collection.iterator().forEachRemaining(System.out::print);
System.out.println();
// 4)迭代器遍历
System.out.println("迭代器遍历:");
Iterator<String> iterator = collection.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
System.out.println();
//添加自身
collection.addAll(collection);
System.out.println(collection);
//移除所有元素
collection.clear();
System.out.println(collection);
//
collection.add("1");
collection.add("2");
collection.add("3");
collection.add("4");
collection.add("5");
//判断与比较
// 1)判断是否包含指定元素
System.out.println(collection.contains("1"));
Collection<String> collection02 = new ArrayList<>();
//collection02.add("1");
collection02.add("2");
collection02.add("3");
collection02.add("4");
//collection02.add("5");
// 2)判断是否包含别的collection中的元素
System.out.println(collection.containsAll(collection02));
// 3)判断是否和别的对象相等
System.out.println(collection.equals(collection02));
// 4)判断是否为空集合,空返回true
System.out.println(collection.isEmpty());
//数字相关操作
// 1)collection中的元素个数
System.out.println(collection.size());
// 2)collection的哈希码值
System.out.println(collection.hashCode());
//删除
// 1)删除collection中某一元素
collection.remove("1");
System.out.println(collection);
// 2)删除collection中含有的collection02相同的元素
collection.removeAll(collection02);
System.out.println(collection);
//添加元素,为了形成明显输出
collection.add("2");
collection.add("3");
collection.add("4");
System.out.println(collection);
// 3)仅仅保留collection中的collection02中的元素
collection.retainAll(collection02);
System.out.println(collection);
}
}
1.2.2输出结果(截图):
-
遍历方式:
-
移除所有元素:
-
判断与比较:
-
数字相关操作:
-
删除 :
1.2.3Code:
package mygather;
import java.util.ArrayList;
import java.util.List;
public class MyCollectionToArrayDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
//1.无参toArray()
Object[] str = list.toArray();
//遍历数组
printArray(str);
System.out.println();
//2.有参toArray()
//参数中的数组长度较短
String[] str01 = new String[list.size() - 1];
String[] str02 = list.toArray(str01);
//遍历str01 str02
System.out.println("参数中的数组长度较短");
printArray(str01);
printArray(str02);
System.out.println();
//参数中的数组长度刚好
System.out.println("参数中的数组长度刚好");
str01 = new String[list.size()];
str02 = list.toArray(str01);
printArray(str01);
printArray(str02);
System.out.println();
//有一个初始值,长度刚好,添加的"demo"忽略了
System.out.println("有一个初始值,长度刚好");
str01[0] = "demo";
str02 = list.toArray(str01);
printArray(str01);
printArray(str02);
System.out.println();
//长度较长
System.out.println("长度较长");
str01 = new String[list.size() + 2];
str02 = list.toArray(str01);
printArray(str01);
printArray(str02);
System.out.println();
//长度较长,有一个初始值
System.out.println("长度较长,有一个初始值");
str01 = new String[list.size() + 2];
str01[list.size() + 1] = "demo";
str02 = list.toArray(str01);
printArray(str01);
printArray(str02);
System.out.println();
}
static void printArray(Object[] str) {
//遍历数组
System.out.println("-----数组元素如下-----");
for (int i = 0; i < str.length; i++) {
System.out.print(str[i] + " ");
}
System.out.println();
}
}