Java编程思想-11持有对象

来源:互联网 发布:射精后强制刺激 知乎 编辑:程序博客网 时间:2024/05/17 16:15

一、数组

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

二、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));  }  
0 0