Collection
程序员文章站
2022-05-23 14:16:24
...
Collection 中的方法,全部来自API,读者无需硬性记忆,只需牢记:集合类就像容器,显示生活中容器的功能,也就是添加对象、删除对象、清空容器、判断容器是否为空等,集合类就为这些功能提供了对应的方法。
Collection基本方法:
boolean add(E e)
该方法用于集合内添加一个元素,如果添加成功集合对象被添加操作改变了,返回true;
boolean remove(Object o)
删除集中中指定元素o,当集合中包含一个或多个o元素时,该方法只会删除第一个符合条件的元素,删除成功返回true;
boolean contains(Object o)
判断集合是否包含元素o,如果包含返回true;
boolean containsAll(Collection<?> c)
判断集合是否包含集合c中的所有元素,如果包含返回true;
boolean addAll(Collection<? extends E>c)
该方法把集合c里的多有元素添加到指定集合里,如果添加成功,返回true;
boolean removeAll(Collection<?> c)
从集合中删除集合c里面的所有元素(相当于用调用该方法的集合减集合c),如果成功返回true;
boolean retainAll(Collection<?> c)
该方法用于从集合中移除未包含在指定c中的所有元素;
void clear()
清除集合中的所有元素,将集合长度变为0;
boolean equals(Object o)
该方法是判断由调用该方法的对象与对象o是否相等;
int hashCode()
返回对象的hashCode()值(根据对象的地址或者字符串或者数字算出来的int类型的数值);
boolean isEmpty()
判断集合是否为空(判断容器是否为空);
int size()
返回集合的长度;
Iterator<E>iterator()
集合调用该方法返回一个迭代器,该方法用于遍历集合;
Object[] toArray()
将集合转化成数组;
<T> T[] toArray(T[] a)
将集合转化成指定泛型的数组;
//List集合允许重复且有序
System.out.println("List :");
Collection c = new ArrayList();
// c.add("Java");
c.add("Java");
c.add("C");
c.add("C#");
c.add("C++");
c.add("5");// 虽然集合内不能存放基本数据类型的值,但是Java支持自动装箱
System.out.println(c);// 输出 [Java, Java, C, C++,5]
System.out.println(c.contains("5"));// true
c.remove("5");
System.out.println(c);// 输出 [Java, Java, C, C++]
System.out.println("\nSet :");
// Set 集合是不允许有重复的且是无序的
Collection mSet = new HashSet();
mSet.add("Java");
mSet.add("Java");
mSet.add("C");
mSet.add("C++");
System.out.println(mSet);// 输出 [Java, C++, C]
// c 集合是否完全包含mSet集合中的值
System.out.println(c.containsAll(mSet));// true
//c.removeAll(mSet);// 用c集合减去mSet集合里的所有元素
System.out.println(c);// 输出 [C#]
//c.clear();// 清空c集合中的所有元素
System.out.println(c);// 输出 []
mSet.retainAll(c);// 控制mSet集合里只剩下c集合里也包含的元素
System.out.println(mSet);// 输出 []
// System.out.println(集合); 能输出 [Java, C++, C....]是因为Collection重写了toString()方法。
System.out.println("\nString:");
String [] d = (String[]) c.toArray(new String[c.size()]);
for (String string : d) {
System.out.println(string);// 输出
}
System.out.println("\nObject:");
Object[] o = c.toArray();
for (Object object : o) {
if(object instanceof String){
String s = (String) object;
System.out.println(s);// 输出
}
}
PS:
一、JAVA定义数组:
dataType[] arrayRefVar = new dataType[arraySize];
String [] d = (String[]) c.toArray(new String[c.size()]);
二、Java中A instanceof B是用来判断内存中实际对象A是不是B类型。
输出结果:
推荐阅读
-
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
-
Collection相关面试题(含答案)
-
MyBatis从入门到精通(十二):使用collection标签实现嵌套查询
-
遍历collection是否会出现重复遍历?
-
java中集合(LinkedList、HashSet、HashMap、HashTable、Collection、Collections)
-
java语法ArrayList、LinkedList、HashSet、HashMap、HashTable、Collection、Collections详解
-
Python中Collection的使用小技巧
-
关于MongoDB 固定集合(capped collection)的知识梳理
-
mybatis_ The content of element type association must match (constructor,id,result,ass ociation,collection,discriminator)
-
四种常见的数据结构、LinkedList、Set集合、Collection、Map总结