今天和大家分享 Collection 类的使用方法,这些方法同样适用于实现了 Collection 接口的 Set 和 List 。
目录
1.添加单个元素
add(T) 用于添加持有泛型 T 的参数。
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("China");
System.out.println(c);
}
[China]
2.批量添加元素
addAll(Collection<? extends T>) 用于批量添加元素。
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("China");
arrayList.add("USA");
arrayList.add("UK");
c.addAll(arrayList);
System.out.println(c);
}
[China, USA, UK]
3.清空元素
clear() 用于清空容器内元素。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c);
c.clear();
System.out.println(c);
}
[China, USA, UK]
[]
4.移除指定元素
remove(Object) 移除指定元素,若元素在容器内,则进行移除返回 true,否则返回 false。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c);
System.out.println(c.remove("UK"));
System.out.println(c.remove("Russia"));
System.out.println(c);
}
[China, USA, UK]
true
false
[China, USA]
5.批量移除元素
remove(Collection<?>) 可批量移除参数中的所有元素,只有执行任何一个元素的移除操作则返回 true,否则返回 false。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c);
ArrayList<Object> arrayList = new ArrayList<>();
arrayList.add("USA");
arrayList.add("UK");
arrayList.add("Korea");
System.out.println(c.removeAll(arrayList));
System.out.println(c.removeAll(arrayList));
System.out.println(c);
}
[China, USA, UK, Russia, Korea]
true
false
[China, Russia]
6.获取元素数目
size() 可获取容器内元素的数目。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c.size());
}
5
7.遍历元素
iterator() 返回一个 Iterator<T> ,可以用来遍历容器内所有元素。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
Iterator<String> iterator = c.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
China
USA
UK
Russia
Korea
8. 判断容器是否为空
isEmpty() 当容器内没有元素的时候返回 true ,否则返回 false。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c.toString());
System.out.println(c.isEmpty());
c.clear();
System.out.println(c.isEmpty());
}
[China, USA, UK, Russia, Korea]
false
true
9.获取元素交集
retainAll(Collection<?>) 只保存参数中的元素,相当于获取两者的交集。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c);
ArrayList<Object> arrayList = new ArrayList<>();
arrayList.add("USA");
arrayList.add("UK");
arrayList.add("Japan");
System.out.println(arrayList);
c.retainAll(arrayList);
System.out.println(c);
}
[China, USA, UK, Russia, Korea]
[USA, UK, Japan]
[USA, UK]
10.判断是否包含某个元素
contains(Object) 可用于判断容器内是否包含某个元素,存在返回 true,否则返回 false。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
System.out.println(c.contains("China"));
System.out.println(c.contains("Japan"));
}
true
false
11.获取容器构成的数组
toArray() 会返回包含所有元素的 Object 数组。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
Object[] objects = c.toArray();
System.out.println(Arrays.toString(objects));
}
[China, USA, UK, Russia, Korea]
假如我们需要返回相同类型参数的数组,则需要传入对应类型参数的数组作为参数,如 <T> T toArray(T[] a)。作为参数的数组长度若小于等于容器元素个数,则返回数组的长度等于容器元素个数;若作为参数的数组长度大于容器元素个数,多出来的位置则为 null。
public static void main(String[] args) {
String[] countries = {
"China", "USA", "UK", "Russia", "Korea"};
Collection<String> c = new ArrayList<String>(Arrays.asList(countries));
String[] s1 = c.toArray(new String[0]);
System.out.println(Arrays.toString(s1));
String[] s2 = c.toArray(new String[10]);
System.out.println(Arrays.toString(s2));
}
[China, USA, UK, Russia, Korea]
[China, USA, UK, Russia, Korea, null, null, null, null, null]
本次分享至此结束,希望本文对你有所帮助,若能点亮下方的点赞按钮,在下感激不尽,谢谢您的【精神支持】。
若有任何疑问,也欢迎与我交流,若存在不足之处,也欢迎各位指正!