最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。
本篇开始JAVA的第二大部分内容介绍。
本篇先来介绍容器的大致概念:
接下里看看容器相关接口的结构框图,后续会陆续介绍:
最后介绍一下ArrayList的一些常见的使用(ArrayList、LinkedList、Vector均为List的子类):
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 测试List中的基本方法
* @author Administrator
*
*/
public class Test01 {
public static void main(String[] args) {
List list = new ArrayList(); //以后都这么写,左面是接口右面是实现类
//ArrayList:底层实现是数组,线程不安全,效率高。所以,查询快。修改、插入、删除慢。
//LinkedList:底层实现是链表,线程不安全,效率高。所以,查询慢。修改、插入、删除快。
//Vector:线程安全的,效率低。
list.add("aaa"); //往list里面装什么都行~
list.add("aaa");
list.add(new Date());
list.add(new Dog());
list.add(1234); //包装类的:自动装箱!
list.remove(new String("aaa"));
System.out.println(list.size()); //打印当前list的大小,当前往里面装了多少个就就返回相应的个数(返回:4)
System.out.println(list.isEmpty());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
list.set(3, new String("3333"));
list.add(4, new String("3333"));
/* System.out.println(list.isEmpty());
list.remove(new Dog()); //和hashcode和equals有关,后续会解释
System.out.println(list.size());
List list2 = new ArrayList();
list2.add("bbb");
list2.add("ccc");
list.add(list2);
//跟顺序的操作
String str = (String) list.get(0);
System.out.println(str);
list.set(1, "ababa"); //往指定的位置放
list.remove(0);*/
}
}