java知识点汇总(三)--集合框架
1.管理对象(数组 + 集合框架)
2.数组
--数组和集合的区别
(1) 数组只能存放相同类型对象的一个对象,包括基本数据类型对象;集合可存放不同类型的对象,不包括基本数据类型对象
(2) 数组不能改变大小,集合可改变大小
--数组可转换为List List numbers = Array.asList(9,4,-9,100);
--数组相关
(1) 操作数组的工具类 java.util.Arrays
(2) length字段获取数组元素数量,索引值从0开始
(3) 没有元素的数组为空数组
(4) 声明和创建数组 String[] names = new String[4]; names[0]="hello"; / String[] names = {"hello","yan"};
(5) 使用一个负索引或大于等于数组大小的索引将抛出异常java.lang.ArrayIndexOutOfBoundsException
(6) 迭代数组 for(String name : names){ }
(7) 多维数组,它的元素是数组 int[][]
3.集合框架( 接口 + 类 )
--集合是集中存放其他对象的一个对象,存放的对象可称为元素
--集合也称为容器,提供存储、检索和操作元素的方法
--接口
Iterator 对象可排序
Comparator 对象可比较
Collection (包含子接口 Set, Queue, List)
**Queue: 实现类:LinkedList Queue queue = new LinkedList(); queue.add("one");
**Set: Set set = new HashSet();
(1) Set不允许存储重复元素
(2) 实现类最多允许一个null
(3) 使用HashSet时,不能保证元素的顺序一直不变
**List: 实现类:ArrayList List myList = new ArrayList();
(1) 可添加null,可有多个null
(2) 列表初始容量为10
(3) List是有序元素的集合,也称序列,可使用索引访问元素/将元素插入指定位置(0开始)
(4) List运行存储重复的元素
**collection提供了很多管理对象的方法,add,addAll,clear,size,isEmpty,toArray等
**Collection继承Iterator接口,可返回一个Iterator对象,可用该对象迭代集合中的元素
**for循环对集合进行迭代是使用Iterator的快捷方式
private static List<String> serviceIdNums11 = new ArrayList(12) { { addAll(claimIdNums); } };
Map (存储键值对,包含子接口 SortedMap, AbstractMap)
**SortedMap: 键按升序排序
**AbstractMap: 实现类:HashMap
**Map中的键不能重复,每个键最多映射一个值
**put方法添加键值对
**键和值不能为基本类型 map.put(1,300);(合法:调用put前执行了装箱操作)
**方法 put,putAll,remove,size,isEmpty, get(key);
**keySet()--- 返回Map中包含所有键的Set
**values()---返回Map中包含所有值的Collection
**entrySet()----返回一个包含Map.Entry对象的Set,每个Entry对象表示一个键/值对,Map.Entry接口提供getKey(),getValue()
--集合的转换
List转换为Set,去重
List myList = new ArrayList();
myList.add("hello");
Queue转换为List
Queue queue = new LinkedList();
queue.add("hello");
queue.add("world");