Java 集合类笔记
集合
- 种类:
- ArrayList集合类(数据可重复、有序)
- Vector集合类(数据可重复、有序)
- LinkedList集合类(新增2种添加方法 (addFirst()、addLast()))
- HashSet集合类(不会添加重复数据、无序)
- TreeSet集合类
ArrayList 集合类
- 集合:相当于一个容器,用来放置任意类型的数据
- 基本语法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17ArrayList ar = new ArrayList();//创建集合类对象
ar.add("Hello World!");//把数据放进ar集合内
System.out.println(ar.get(0));//获得ar集合内的数据(get(0)是一个索引,从0开始)
ar.add(0,"小明");//在0位置添加一条信息
ar.addAll(ar2);//把ar2集合类添加到ar集合类里
ar.addAll(0,ar2);//也可以把ar2集合类放到指定的地方
ar.remove(0);//删去集合类中指定位置的数据
for (Object o : ar){
System.out.println(o);
}//增强版for循环遍历ArrayList集合(重要) - 可以添加重复的数据
Vector集合类
- 基本语法
1
2
3
4
5
6
7Vector ve = new Vector();//创建一个Vector集合类
ve.add("你好!");//在Vector集合类中添加信息
for(Object o : ve){
System.out.println(o+" ");//增强版循环遍历Vector集合类
} - 可以添加重复的数据
ArrayList集合类和Vector集合类区别
线程是否安全(ArrayList线程不安全,Vector线程安全)
建议:
单线程中用ArratList,但效率很高
多线程中使用Vector,但效率较低
HashSet集合类
- 它的存储是无序的,没有get方法
- 不会添加重复的数据
- 哈希值
TreeSet集合类
- 它的存储是无序的,没有get方法
- 不会添加重复的数据
Map(用来存储键值对)
- HashMap(线程不安全,效率高)
- TreeMap
- HashTable(线程安全,效率低)
泛型
1 | ArrayList<Integer> l1 = new ArrayList<Integer>(); |
- 优点
1.使用泛型能够限定集合中,如List, Set中元素的类型,保证一个集合中只有一个类型。(这样也就能够使用增强for来遍历集合)
2.程序也能更加健壮(只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CodeWhale-Blog!
评论





