1.集合概述
总称,包含多个具体的类
1.1集合和数组的比较
数组 |
集合 |
大小固定 |
动态变化 |
效率较高、只存储原生数据类型 |
效率稍低、可以存储引用类型 |
只能存放单一数据类型 |
可以存储多种数据类型(除泛型集合外) |
1.2集合继承层次
Iterator接口、Collection接口、Map接口
2. Collection接口下的继承者
2.1 Collection接口
集合类的基本接口。
序号 |
方法名 |
说明 |
1 |
add(Object o) |
向调用该方法的集合中添加元素o,成功返回true,失败返回false |
2 |
addAll(Colletion c) |
将集合c中的所有元素添加到调用该方法的集合中,成功返回true,失败返回false |
3 |
remove(Object o) |
从调用该方法的集合中删除指定元素 |
4 |
removeAll(Colletion c) |
从调用该方法的集合中删除与集合c相同的元素 |
5 |
size() |
返回集合内元素数量 |
6 |
clear() |
清空该集合 |
7 |
isEmpty() |
判断该集合是否为空 |
8 |
contains(Object o) |
判断集合是否含有元素o |
9 |
containsAll(Colletion c) |
判断集合是否含有集合c中的所有元素 |
10 |
equals(Object o) |
判断集合是否与对象o是否相等 |
11 |
retainAll(Colletion c) |
删除不包含在集合c中的所有元素 |
12 |
toArray() |
返回由该集合里所有元素组成的数组 |
2.2 Set接口----不包含重复元素,至多一个null元素
2.3 HashSet----(无序不重复、有序号、查询速度快)和TreeSet------(有序不重复、无序号、运行速度稍慢)
序号 |
HashSet常用方法 |
TreeSet常用方法 |
||
方法名 |
说明 |
方法名 |
说明 |
|
HashSet() |
构造方法 |
TreeSet() |
构造方法 |
|
HashSet(Colletion c) |
构造方法 |
TreeSet(Colletion c) |
构造方法 |
|
HashSet(int initialCapacity) |
构造方法 |
TreeSet(int initialCapacity) |
构造方法 |
|
HashSet(int initialCapacity float loadFactor) |
构造方法 |
TreeSet(Comparator < ? super E > comparator) |
构造方法 |
|
add(E e) |
添加元素 |
add(E e) |
添加元素 |
|
remove(Object o) |
删除元素 |
remove(Object o) |
删除元素 |
|
size() |
返回集合元素数量 |
comparator() |
返回集合比较器 |
|
clear() |
清空集合 |
clear() |
清空集合 |
|
isEmpty() |
判断集合是否为空 |
size() |
返回集合元素数量 |
|
contains(Object o) |
判断集合是否包含元素o |
contains(Object o) |
判断集合是否包含元素o |
|
clone() |
返回HashSet的实例拷贝 |
first() |
返回集合第一个元素 |
|
iterator() |
迭代器 |
last() |
返回集合最后一个元素 |
|
iterator() |
迭代器 |
2.4 List接口-----允许存放重复项
add(int index, E element):指定位置增加元素
addAll(int index, Collection c):指定位置添加多个元素
get(int index):返回列表指定位置的元素
indexOf(Object o):返回列表指定元素第一次出现的位置索引
lastindexOf(Object o):返回列表指定元素最后一次出现的位置索引
remove(int index):移除列表指定位置的元素
set(int index, E element):用指定元素替换指定位置处的元素
2.5 ArrayList和LinkedList
ArrayList是最常用的列表,可以储存几乎任何类型的元素,而LinkedList对元素进行删除和插入的性能优于ArrayList。
3.集合访问器Iterator接口
迭代器:遍历结合元素的工具
hasNext()方法:检验下面是否有元素可以迭代
next()方法:返回迭代的下一个元素
remove()方法:移除迭代器返回的最后一个元素
import java.util.List; import java.util.ArrayList; import java.util.Iterator; //查找符合要求的元素并组成新的集合输出 public class Demo9_1 { public static void main(String[] args) { String str1 = ""; List list1 = new ArrayList(); List list2 = new ArrayList(); list1.add("686869"); list1.add("好好学习,天天向上!"); list1.add("山和湖泊"); list1.add("868213"); for (int i = 0; i < list1.size(); i++) { str1 = list1.get(i).toString(); boolean b1 = str1.contains(",");//判断是否符合 if(!b1) { list2.add(str1); //构建新的集合 } } Iterator it = list2.iterator(); System.out.println("符合要求的元素有:"); while (it.hasNext()) { System.out.print(it.next() + " "); //遍历输出 } } }
4.集合工具类Collections(max、min、sort、copy、binarySearch)
5.Map接口(key_value)
5.1 Map接口简介
线程安全使用HashTable,排序使用TreeMap,单纯插入删除定位使用HashTree
5.2 HashMap和TreeMap
6.泛型集合
7.常用工具类
7.1 Java API文档
7.2 Math类
(abs()、cos()、sin()、cbrt()、log()、max()、min()、pow()、random())
7.3日期处理
Data:Date()、equals();
Calendar: Calendar.YEAR、Calendar.MONTH、Calendar.DATE、Calendar.HOUR、Calendar.DAY_OF_WEEK、Calendar.HOUR_OF_DAY、getInstance()、getTime()、getTimeInMIllis()、clear();
SimpleDataFormat:SimpleDataFormate(String pattern)、format(Data date)、parse(String source))