Java编程思想-11持有对象

xiaoxiao2021-02-28  126

一、数组

数组:固定长度、可存储基本数据类型,是保存一组对象最有效的方式 容器:可变长度、只存储引用数据类型

二、Iterator

迭代器,从集合中取元素的工具 hasNext(): 是否有下一个元素 next(): 返回迭代的下一个元素 remove():移除迭代器返回的最后一个元素

三、Collection

1、共性方法

add(Object): 添加一个元素; addAll(Collection): 添加一个集合中的所有元素; clear(): 清空集合; remove(Object): 删除一个元素; removeAll(Collection): 删除部分元素; retainAll(Collection): 获取两个集合的交集; isEmpty(): 是否为空; contains(Object): 是否包含元素; containsAll(Collection): 是否包含多个元素; size(): 获取元素的数量; toArray(): 获取元素的数字; iterator(): 获取迭代器;

2、List

特点:有序可重复 特有方法: add(int, Object): 在指定位置,插入元素; addAll(int, Collection): 在指定位置,插入多个元素; get(int): 获取指定位置的元素; set(int, Object): 替换指定位置的元素; remove(int): 删除指定位置的元素; indexOf(Object): 获取元素的索引(正向); lastIndexOf(Object): 获取元素的索引(反向); subList(int, int): 获取子集合; listIterator(): 获取list特有迭代器;

3、Set

特点:无序不重复 无特有方法

4、队列:Queue

特点:先进先出 LinkedList实现了Queue接口 add(Object); 插入元素,空间不足会抛异常; offer(Object): 插入元素,优于add(Object); element(): 获取元素,不移除队列头; remove(): 获取元素,会移除队列头; peek(): 获取元素,不移除队列头;如果队列为空,则返回 null; poll(): 获取元素,会移除队列头;如果队列为空,则返回 null;

5、工具类:Collections

用于操作集合的工具类,其方法都是静态的 sort(List): 将集合排序(按自然顺序,升序) max(Collection): 取最大元素(按自然顺序) min(Collection): 取最小元素(按自然顺序) ......

四、Map

1、共性方法

put(Object, Object): 保存键值对; get(Object): 获取键的值; remove(Object): 删除一个键; putAll(Map): 保存多个键值对; clear(): 清空; size(): 获取键值对的数量; isEmpty(): 是否为空; containsKey(Object): 是否包含键; containsValue(Object): 是否包含值; keySet(): 获取Map所有键 ; values(): 获取Map所有值; entrySet(): 获取Map所有映射关系 ;

2、遍历Map

Map map=new HashMap<>(); //方法一:entrySet() //最常见、最可取 for(Map.Entry<String, Object> entry : map.entrySet()){ System.out.println("Key = " + entry.getKey()); System.out.println("Value = " + entry.getValue()); } //方法二:keySet()、values() //比方法一快10% for (String key : map.keySet()) { System.out.println("Key = " + key); } for (Object value : map.values()) { System.out.println("Value = " + value); } //方法三:Iterator //性能同方法二,可同时删除元素 //取键值对 Iterator<Entry<String, Object>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, Object> entry = it.next(); System.out.println("Key = " + entry.getKey()); System.out.println("Value = " + entry.getValue()); } //只取键 Iterator<String> itKey = map.keySet().iterator(); while (itKey.hasNext()) { System.out.println("Key = " + itKey.next()); } //只取值 Iterator<Object> itValue = map.values().iterator(); while (itValue.hasNext()) { System.out.println("Value = " + itValue.next()); } //方法四:键找值 //效率低(比方法一低20%~200%) for (String key : map.keySet()) { System.out.println("Key = " + key); System.out.println("Value = " + map.get(key)); }
转载请注明原文地址: https://www.6miu.com/read-52734.html

最新回复(0)