目录
集合和数组有啥区别?
1.数组的长度是固定的。集合的长度是可变的。
2.数组中存储的是同一类型的元素,可以存储基本数据类型值;集合存储的都是对象。而且对象的类型可以不一致。
Collection:单列集合类的根接口,里边定义了所有单列集合共性的方法,任意的单列集合都可以使用Collection接口中的方法。用于存储一系列符合某种规则的元素,两个重要的子接口,分别是java.util.List 和 java.util.Set 。
其中, List 的特点是元素有序、元素可重复。List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList
Set 的特点是元素无序,而且不可重复。Set 接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet
Collection的常用方法
public boolean add(E e) : 把给定的对象添加到当前集合中 。
public void clear() :清空集合中所有的元素。
public boolean remove(E e) : 把给定的对象在当前集合中删除。
public boolean contains(E e) : 判断当前集合中是否包含给定的对象。
public boolean isEmpty() : 判断当前集合是否为空。
public int size() : 返回集合中元素的个数。
public Object[] toArray() : 把集合中的元素,存储到数组中
以ArrayList为例:
add(E e):
@Test
public void addTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add(2));// true
System.out.println(name.add(true));// true
}
remove(E e) :
@Test
public void removeTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add(2));// true
System.out.println(name.add(true));// true
System.out.println(name.remove(2));// true
}
contains(E e):
@Test
public void containsTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add(2));// true
System.out.println(name.add(true));// true
System.out.println(name.remove(2));// true
System.out.println(name.contains("aa"));// ture
System.out.println(name.contains("cc"));// false
}
isEmpty():
@Test
public void emptyTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add(2));// true
System.out.println(name.add(true));// true
System.out.println(name.isEmpty());// false
name.clear();
System.out.println(name.isEmpty());// true
}
size():
@Test
public void sizeTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add(2));// true
System.out.println(name.add(true));// true
System.out.println(name.size());// 3
}
toArray():
@Test
public void toArrayTest(){
Collection<String> name = new ArrayList<>();
System.out.println(name.add("aa"));// true
System.out.println(name.add("bb"));// true
System.out.println(name.add("cc"));// true
for (int i = 0; i < name.toArray().length; i++) {
System.out.println(name.toArray()[i]);
}
//aa bb cc
}