第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{
}