java容器的深入理解----填充

java容器的深入理解----填充

容器的填充,数组填充我前面提到了Arrays,那么容器呢,相应的也有Collections的一些方法,其中也有fill()。下面我们看个示例:

class StringAddress {
    private String s;
    public StringAddress(String s){this.s = s;}
    /*public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
为了看懂打印的数据,这个是父类的tostring,由类名和该对象的散列码用无符号16进制表示*/
    public String toString(){
        return super.toString()+" "+s;
    }
}




public class FillingLists {
    public static void main(String[] args) {
        List<StringAddress> list = new ArrayList<StringAddress>(Collections.nCopies(4,new StringAddress("Hello")));
        System.out.println(list);
        Collections.fill(list,new StringAddress("world"));
        System.out.println(list);
    }
}

这个示例展示两种对单个对象的引用来填充的方式但是fill()方法用法有限,它只能替换已经存在list中存在的元素,不呢添加新的元素。