Java编程思想-11持有对象
程序员文章站
2024-03-17 18:32:40
...
一、数组
数组:固定长度、可存储基本数据类型,是保存一组对象最有效的方式
容器:可变长度、只存储引用数据类型
二、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)); }