代码改变世界

2016/11/24

2016-11-24 21:48  乐扬  阅读(83)  评论(0)    收藏  举报

List接口

List接口继承自Collection接口,它有如下特点:

List中的元素是有顺序的
List通常允许重复元素
List的实现类通常支持null元素
可以通过索引访问List对象容器中的元素

ArrayList方法摘要

add(E e)

将指定的元素添加到此列表的尾部。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("王二");
    list.add("小麻");
    System.out.println(list);

add(int index, E element)

将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("王二");
    list.add("小麻");
    list.add(2, "李四");      
    System.out.println(list);  

clear()

移除此列表中的所有元素。此调用返回后,列表将为空。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("王二");
    list.add("王五");
    list.add(2, "李四");  
    list.clear();
    System.out.println(list);  

contains(Object o)

如果此列表中包含指定的元素,则返回 true。更确切地讲,当且仅当此列表包含至少一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,则返回 true。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    System.out.println(list.contains("李四"));  

get(int index)

返回此列表中指定位置上的元素。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    System.out.println(list.get(1));  

set(int index, E element)

用指定的元素替代此列表中指定位置上的元素。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    list.set(1, "小麻");
    System.out.println(list);  

remove(int index)

移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    list.remove(2);
    System.out.println(list);

remove(Object o)

移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    list.remove("张三");
    System.out.println(list);  

size()

返回此列表中的元素数。

    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    list.add("张三");
    System.out.println(list.size());  

LinkedList方法摘要

add(E e)

将指定元素添加到此列表的结尾。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("李四");
    System.out.println(list);  

addFirst(E e)

将指定元素插入此列表的开头。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("李四");
    list.addFirst("小麻");
    System.out.println(list); 

addLast(E e)

将指定元素添加到此列表的结尾。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("李四");
    list.addLast("王二");
    System.out.println(list);

clear()

从此列表中移除所有元素。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("李四");
    list.clear();
    System.out.println(list);  

get(int index)

返回此列表中指定位置处的元素。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.addFirst("小麻");
    list.addLast("王二");
    list.add("李四");
    System.out.println(list.get(1));

indexOf(Object o)

返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.addFirst("小麻");
    list.addLast("王二");
    list.add("李四");
    System.out.println(list.indexOf("李四"));

poll()

获取并移除此列表的头(第一个元素)

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("小麻");
    list.add("王二");
    list.add("李四");
    System.out.println(list.poll());
    System.out.println(list);

push(E e)

将元素推入此列表所表示的堆栈。换句话说,将该元素插入此列表的开头。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("小麻");
    list.add("王二");
    list.add("李四");
    list.push("赵五");
    System.out.println(list);

set(int index, E element)

将此列表中指定位置的元素替换为指定的元素。

    LinkedList<String> list = new LinkedList<>();       
    list.add("张三");
    list.add("小麻");
    list.add("王二");
    list.add("李四");
    list.set(2, "熊大");
    System.out.println(list);

Set接口

set接口也继承自Collection接口,同时继承了Collection接口的全部方法

元素无序,不可重复

HashSet方法摘要

add(E e)

如果此 set 中尚未包含指定元素,则添加指定元素。

    Set<String> set = new HashSet<>();
    set.add("张三");
    set.add("李四");
    set.add("老王");
    System.out.println(set);

contains(Object o)

如果此 set 包含指定元素,则返回 true。

    Set<String> set = new HashSet<>();
    set.add("张三");
    set.add("李四");
    set.add("老王");
    System.out.println(set.contains("老王"));

iterator()

返回对此 set 中元素进行迭代的迭代器。返回元素的顺序并不是特定的。

    Set<String> set = new HashSet<>();
    set.add("张三");
    set.add("李四");
    set.add("老王");  
    Iterator<String> it = set.iterator();
    while(it.hasNext()){
    System.out.println(it.next());
    }

remove(Object o)

如果指定元素存在于此 set 中,则将其移除。

    Set<String> set = new HashSet<>();
    set.add("张三");
    set.add("李四");
    set.add("老王");  
    Iterator<String> it = set.iterator();
    while(it.hasNext()){
        String s = it.next();
        if(s.equals("李四")){
            it.remove();
        }
    }
    System.out.println(set);

Iterator

hasNext() , next(), remove()

    Set<String> set = new HashSet<>();
    set.add("张三");
    set.add("李四");  
    Iterator<String> it = set.iterator();
    while(it.hasNext()){
        String s = it.next();
        if(s.equals("张三")){
            it.remove();
        }
    }
    System.out.println(set);

TreeSet方法

isEmpty()

如果此 set 不包含任何元素,则返回 true。

    Set<String> set = new TreeSet<>();
    set.add("张三");
    set.add("李四");
    set.clear();
    System.out.println(set.isEmpty());

first()

返回此 set 中当前第一个(最低)元素。

    TreeSet<String> set = new TreeSet<>();
    set.add("张三");
    set.add("李四");
    set.add("小不点");
    System.out.println(set.first());

Map接口

Map接口是Java集合框架中不同于Collection接口的另一个重要接口,它对应的是在一种从键(Key)到值(Value)的对应关系的集合。

HashMap类

put(K key, V value)

在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则旧值被替换。

    Map<String, String> map = new HashMap<>();
    map.put("cd", "成都");
    map.put("gz", "广州");
    map.put("bj", "北京");
    map.put("sh", "上海");
    System.out.println(map);

remove(Object key)

从此映射中移除指定键的映射关系(如果存在)。

    Map<String, String> map = new HashMap<>();
    map.put("cd", "成都");
    map.put("gz", "广州");
    map.put("bj", "北京");
    map.put("sh", "上海");
    System.out.println(map.remove("gz"));

containsKey(Object key)

如果此映射包含对于指定键的映射关系,则返回 true。

    Map<String, String> map = new HashMap<>();
    map.put("cd", "成都");
    map.put("gz", "广州");
    map.put("bj", "北京");
    map.put("sh", "上海");
    System.out.println(map.containsKey("gz"));

get(Object key)

返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。

    Map<String, String> map = new HashMap<>();
    map.put("cd", "成都");
    map.put("gz", "广州");
    map.put("bj", "北京");
    System.out.println(map.get("bj"));

keySet()

返回此映射中所包含的键的 Set 视图

    Map<String, String> map = new HashMap<>();
    map.put("cd", "成都");
    map.put("gz", "广州");
    map.put("bj", "北京");
    map.put("sh", "上海");
    Set<String> set = map.keySet();
    Iterator<String> it = set.iterator();
    while(it.hasNext()){            
        System.out.print(map.get(it.next()));
    }