java编程思想--容器

来源:互联网 发布:网络红歌2017火爆歌曲 编辑:程序博客网 时间:2024/06/07 18:46

Arrays.asList(): 接收一个数组或者一个用逗号分隔的元素列表,转化成List
Collections.addAll():j接收一个collection对象,以及一个数组或者一个用逗号分隔的元素列表,将元素添加到collection对象中。

Set:

  • HashSet的add()源码:

    使用了散列函数,避免重复元素的添加

 public boolean add(E e) {     //只要元素e是重复的,map.put(e, PRESENT)就!=null    return map.put(e, PRESENT)==null; }

验证map.put()方法

public class Content {    private Map<String, Integer> map = new HashMap<>();    public static void main(String[] args) {        Content content = new Content();        Integer integer1 = content.map.put("a", 1);        System.out.println(integer1);//返回的是null        Integer integer2 = content.map.put("a", 5);        System.out.println(integer2);//返回的是 1        /*if(content.map.put("a", 4)!=null){            System.out.println("error");            new Exception("eee");        }*/    }}

foreach语句

任何实现了Iterable接口的类,它的对象都能用于foreach语句中

看下面的程序: IterableClass对象 可以放入for循环中(默认隐式地调用iterator()方法)

import java.util.Iterator;public class IterableClass implements Iterable<String>{    private String[] words = "I love you but reality is crud!".split(" ");    @Override    public Iterator<String> iterator() {        return new Iterator<String>() {            private int counter;            @Override            public boolean hasNext() {                return counter!=words.length;            }            @Override            public String next() {                return words[counter++];            }        };    }    public static void main(String[] args) {        IterableClass ic = new IterableClass();        for(String s: ic){//注意这里            System.out.print(s+" ");        }    }}
0 0
原创粉丝点击