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))