集合,集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组的区别:集合和数组既然都是容器,见下;
数组的长度是固定的。集合的长度是可变的。
集合中存储的元素必须是引用类型数据
A:集合继承关系图
a:ArrayList的继承关系:
查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了。
源代码:
interface List extends Collection {
}
public class ArrayList extends AbstractList implements List{
}
b:集合继承体系
这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。
Collecton接口常用的子接口有:List接口、Set接口
List接口常用的子类有:ArrayList类、LinkedList类
Set接口常用的子类有:HashSet类、LinkedHashSet类
Collection 接口
|
----------------------------------------------------------------
| |
List接口 Set接口
| |
---------------- -------------
| | | |
ArrayList类 LinkedList类 HashSet类 LinkedHashSet类
集合Collection的方法
Collection接口中的方法
是集合中所有实现类必须拥有的方法
使用Collection接口的实现类,程序的演示
ArrayList implements List
List extends Collection
方法的执行,都是实现的重写
public class CollectionDemo { public static void main(String[] args) { function_2(); }
Collection接口方法
Object[] toArray() 集合中的元素,转成一个数组中的元素, 集合转成数组
返回是一个存储对象的数组, 数组存储的数据类型是Object
private static void function() { Collection<String> coll = new ArrayList<String>(); coll.add("abc"); coll.add("itcast"); coll.add("itheima"); coll.add("money"); coll.add("123"); Object[] objs = coll.toArray(); for(int i = 0 ; i < objs.length ; i++){ System.out.println(objs[i]); } }
Collection接口方法
boolean remove(Object o)移除集合中指定的元素
private static void function_3(){ Collection<String> coll = new ArrayList<String>(); coll.add("abc"); coll.add("money"); coll.add("itcast"); coll.add("itheima"); coll.add("money"); coll.add("123"); System.out.println(coll); boolean b = coll.remove("money"); System.out.println(b); System.out.println(coll); }