1.Java集合框架包含的内容
Java集合框架为我们提供了一套性能优良,使用方便的接口和类,它们都位于在java.util包中。
Collection 接口存储一组不唯一,无序的对象。
List 接口存储一组不唯一,有序(插入顺序)的对象。
Set 接口存储一组唯一,无序的对象 。
Map接口存储一组键值对象,提供key到value的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。
Iterator接口是负责定义访问和遍历元素的接口。
2.List接口
实现List接口的常用类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null,允许重复,并且都保存元素的存储顺序。
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList采用链表(链表没有下标)存储方式。插入、删除元素时效率比较高
1.ArrayList集合类
1 ArrayListarrayList=new ArrayList ();2 arrayList.add("美美");3 arrayList.add("如花");4 arrayList.add("旺财");5 //遍历方法6 for(int i=0;i
2. ArrayList常用的各种方法
方法名 | 说明 |
boolean add(Object o) | 在列表的末尾顺序添加元素,起始索引位从0开始 |
void add(int index,Object o) | 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间 |
int size() | 返回列表中的元素个数 |
Object get(int index) | 返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换 |
boolean contains(Object o) | 判断列表中是否存在指定元素 |
boolean remove(Object o) | 从列表中删除元素 |
Object remove(int index) | 从列表中删除指定位置元素, 起始索引位置从0开始 |
3.LinkedList集合类
1 Person person =new Person(); 2 person.setName("哈哈"); 3 person.setAge(55); 4 5 Person person2 =new Person(); 6 person2.setName("吼吼"); 7 person2.setAge(22); 8 9 LinkedListlinkedList=new LinkedList ();10 linkedList.add(person);11 linkedList.addFrist(person2);12 for (int i = 0; i < linkedList.size(); i++) {13 System.out.println(linkedList.get(i).getName());14 }
4.LinkedList的特殊方法
方法名 | 说明 |
void addFirst(Object o) | 在列表的首部添加元素 |
void addLast(Object o) | 在列表的末尾添加元素 |
Object getFirst() | 返回列表中的第一个元素 |
Object getLast() | 返回列表中的最后一个元素 |
Object removeFirst() | 删除并返回列表中的第一个元素 |
Object removeLast() | 删除并返回列表中的最后一个元素 |
3.Map接口
1.HashMap集合类
1 Mapmap=new HashMap (); 2 map.put("CBC", "中国建设银行"); 3 map.put("ABC", "中国农业银行"); 4 map.put("ICBC", "中国工商银行"); 5 Set set=map.keySet(); 6 //方式1. 利用循环 通过key值拿到valus值 7 for(String key:set){ 8 System.out.println(key); 9 //get()方法 10 System.out.println(map.get(key));11 }
2.遍历HashMap的五种方式
1 //方式1. 利用循环 通过key值拿到valus值 2 for(String key:set){ 3 System.out.println(key); 4 //get()方法 5 System.out.println(map.get(key)); 6 } 7 System.out.println("============="); 8 //方式2. 利用循环 直接拿到Key 9 Collectionvalues = map.values();10 for(String value:values){11 System.out.println(value);12 }13 System.out.println("====================");14 //方式3. 利用循环 直接拿到Key 和Value15 Set > entrySet = map.entrySet();16 for (Entry entry : entrySet) {17 System.out.println(entry.getKey());18 System.out.println(entry.getValue());19 }20 //方式4. 使用Itertor迭代器 遍历 Key和value21 System.out.println("========Itertor========");22 Set keySet = map.keySet();23 Iterator iterator = keySet.iterator();24 //循环条件 Itertor是否有下一个元素25 while (iterator.hasNext()) {26 //27 String next = iterator.next();28 System.out.println(next);29 System.out.println(map.get(next));30 }31 System.out.println("===========5==========");32 //方式5. 使用迭代器遍历 Key+Value遍历33 Iterator > iterator2 = map.entrySet().iterator();34 while(iterator2.hasNext()){35 Entry next = iterator2.next();36 System.out.println(next.getKey());37 System.out.println(next.getValue());38 }
3.Map的常用方法
方法名 | 说明 |
Object put(Object key, Object val) | 以“键-值对”的方式进行存储 |
Object get (Object key) | 根据键返回相关联的值,如果不存在指定的键,返回null |
Object remove (Object key) | 删除由指定的键映射的“键-值对” |
int size() | 返回元素个数 |
Set keySet () | 返回键的集合 |
Collection values () | 返回值的集合 |
boolean containsKey (Object key) | 如果存在由指定的键映射的“键-值对”,返回true |
总结
别把工作当负担,与其生气埋怨,不如积极快乐的去面对,当你把工作当作生活和艺术,你就会享受到工作的乐趣。
赵昌平 2018年3月13日21:25:10