第99集:容器基本概念CollectionSetList接口介绍
容器
Collection函数库是在java.util包下的一些接口和类,其中类是用来产生对象、存放数据用的,接口则是访问数据的方式。
-
Collection函数库与数组的两点不同:
数组的容量是有限制的,而Collection库没有这样的限制,它容量可以自动的调节。
Collection函数库只能用来存放对象,而数组没有此限制。
Collection接口是Collection层次结构中的根接口,它定义了一些最基本的访问方法,让我们能用统一的方式通过它或它的子接口来访问数据。
区别Collection代表一组对象,Collection函数库就是Java中的集合框架,Collection接口是这个集合框架中的根接口。
存放在Collection库中的数据,被称为元素(element)。
四大接口(interface)
其它知识点
isEmpty与null的区别:前者是篮子里没有苹果,后者是篮子都没有。
Map是键值对,用来通过一个对象找另一个对象。
第100集:容器ListArrayListLinkedListVector用法详解
区分ArrayList、LinkedList、Vector
ArrayList:底层实现是数组,线程不安全,查询快,修改插入删除慢。
LinkedList:底层实现是链表,线程不安全,查询慢,修改插入删除快。
Vector:底层实现是数组,线程安全,效率低。
List接口常用方法
add
remove
size
set
get
package test099;import java.util.ArrayList;import java.util.Date;import java.util.List;public class Test099 { public static void main(String[] args){ List list = new ArrayList(); list.add("aaa"); list.add(new Object()); list.add(new Dog()); list.add(11);//包装类自动装箱 System.out.println(list.size());//size()表示元素的个数,不代表其内部实现Object数组的长度 // System.out.println(list.isEmpty());// list.remove(new Date()); //hashcode和equals方法有区别// System.out.println(list.size()); List list2 = new ArrayList(); list2.add("bbb"); list2.add("ccc"); list.add(list2); System.out.println(list.size()); //是5不是6,高老师这里说6个不对 List aaa = (List)(list.get(4)); String bbb = (String)(aaa.get(0)); System.out.println(bbb); // String str = (String)(list.get(0));// System.out.println(str); // list.set(1, "vvvv"); Integer int2 =(Integer)list.get(3); System.out.println(list.get(2)); }}class Dog{ }