集合是重写了tostring的方法。所以sout集合名不是地址。
不有用集合的方法进行增加或者删除,但可以用迭代器中的remove()
Collection<String> coll = new ArrayList<>();
coll.add("12");
coll.add("12");
System.out.println(coll);
Iterator<String> it = coll.iterator();
while (it.hasNext()){
String s = it.next();
it.remove();
System.out.println(s);
}
System.out.println(coll);
}
结果:
[12, 12]
12
12
[]
遍历 (1、迭代器遍历 2、增强for(底层就是迭代器) 3、lambda表达式)
//迭代器遍历
public class IteratorDemo1 {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<>();
//添加元素
c.add("hello");
c.add("world");
c.add("java");
c.add("javaee");
//Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方
法得到
Iterator<String> it = c.iterator();
//用while循环改进元素的判断和获取
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}
public class MyCollectonDemo1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
//1,数据类型一定是集合或者数组中元素的类型
//2,str仅仅是一个变量名而已,在循环的过程中,依次表示集合或者数组中的每一个元素
//3,list就是要遍历的集合或者数组
for(String str : list){
System.out.println(str);
}
}
}
Collection<String> coll = new ArrayList<>();
coll.add("12");
coll.add("12");
/* coll.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});*/
coll.forEach( s-> System.out.println(s));
这三种方式都依赖索引。
List
比上面多了一个列表迭代器方法,特有的