Collection【接口】:
我们通过帮助文档发现,Collection是一个接口,不能直接new对象
根据元素是否可以发生重复,继续分类
- List【接口】元素可以发生重复,且有索引的概念
ArrayList
- Set【接口】元素不可以发生重复,没有索引
借助ArrayList子类对象来使用Collection接口中的方法
学习java中任意一个集合的步骤:
1、创建相关集合对象
2、创建元素对象
3、将元素添加到集合中
4、遍历集合
Collection中的成员方法:
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
点击查看代码
public class CollectionDemo1 {
public static void main(String[] args) {
//借助ArrayList创建对象来使用Collection接口中的方法
// 1、创建相关集合对象
Collection c1 = new ArrayList();
//boolean add(Object e)
c1.add(100); //这里涉及到自动装箱 int -> Integer
c1.add(true);
c1.add(12.34);
c1.add(1000L);
c1.add(100);
c1.add(12.34);
// 重写toString()方法的类是ArrayList类的父类的父类中重写的。
// 底层是使用StringBuilder实现的
System.out.println("c1: " + c1);
//注意:我们今后使用集合的时候,规定一个集合只能存储一种数据类型的元素
System.out.println("-----------------------------------------");
//[100, true, 12.34, 1000, 100, 12.34]
//boolean remove(Object o) 从集合中删除一个元素,只会删除最左边的一个匹配元素
c1.remove(100);
System.out.println("c1: " + c1);
System.out.println("-----------------------------------------");
//void clear() 清空集合元素
// c1.clear();
// System.out.println("c1: " + c1);
System.out.println("-----------------------------------------");
//boolean contains(Object o) 判断Collection集合中是否包含某个元素
System.out.println(c1.contains(12.34));
System.out.println("-----------------------------------------");
//boolean isEmpty() 判断Collection集合是否为空
System.out.println(c1.isEmpty());
System.out.println("-----------------------------------------");
//int size() 获取集合的长度【元素的个数】
System.out.println(c1.size());
}
}
boolean addAll(Collection c)
boolean removeAll(Collection c)
boolean containsAll(Collection c)
boolean retainAll(Collection c)
点击查看代码
public class CollectionDemo2 {
public static void main(String[] args) {
Collection c1 = new ArrayList();
c1.add("你");
c1.add("好");
c1.add("世");
c1.add("界");
c1.add("hello");
c1.add("world");
Collection c2 = new ArrayList();
c2.add("hello");
c2.add("world");
c2.add(1111);
System.out.println("c1="+ c1);
System.out.println("c2="+c2);
System.out.println("==============");
c1.addAll(c2);//c1元素拼接上c2 c2不变
// System.out.println(c1);
// System.out.println(c2);
// System.out.println("==============");
c1.removeAll(c2); // 删除c1中所有的c2元素,c2不变
System.out.println(c1);
System.out.println(c2);
// System.out.println("==============");
System.out.println(c1.containsAll(c2));//c1是否包含c2的所有
System.out.println("================");
//boolean retainAll(Collection c) 求交集
c1.retainAll(c2);
System.out.println("c1"+c1);
System.out.println("c2"+c2);
}
}
如何遍历一个Collection集合
1、Object[] toArray() 把集合转成数组,可以实现集合的遍历
点击查看代码
public class CollectionDemo3 {
public static void main(String[] args) {
ArrayList<String> c1 = new ArrayList<>();
c1.add("hello");
c1.add("world");
c1.add("java");
c1.add("hadoop");
c1.add("world");
// Object[] o = c1.toArray();
//for(int i = 0;i< o.length;i++){
// Object o1 = o[i];
// String s2 = (String) o1;
// System.out.println(s2+"--"+s2.length());
for (String s : c1) {
System.out.println(s+"--"+s.length());
}
}
}