集合的遍历
集合提供了统一的遍历方式:迭代器模式
Iterator iterator()
该方法可以获取用于遍历当前集合的迭代器实现类
java.util.Iterator 迭代器接口
不同的集合都提供了一个迭代器实现类用于遍历当前集合元素,迭代器接口上规定了遍历集合的
相关方法,使用迭代器遍历集合的步骤遵循:问->取->删的步骤进行,其中删除不是必要操作。
Collection c = new ArrayList();
c.add("one");
c.add("#");
c.add("two");
c.add("#");
c.add("three");
c.add("#");
c.add("four");
c.add("#");
c.add("five");
System.out.println(c);//[one, #, two, #, three, #, four, #, five]
Iterator it = c.iterator();
while(it.hasNext()){
String e = (String)it.next();
if("#".equals(e)){
it.remove();
}
}
System.out.println(c);//[one, two, three, four, five]
List集合
List接口继承自Collection,是可以存放重复元素且有序的集合。
常用实现类:
java.util.ArrayList:内部使用数组实现,查询性能更好。
java.util.LinkedList:内部使用链表实现,增删性能更好,收尾增删性能最佳。
对性能无要求时通常用ArrayList
Listlist = new LinkedList<>(); list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); System.out.println(list);//[one, two, three, four, five] String str = list.get(2);//获取集合中第三个元素 System.out.println(str);//three System.out.println(list);//[one,two,three,four,five] String old = list.set(1,"six");//返回值为被替换的"two" System.out.println(list);//[one,six,three,four,five] System.out.println(old);//two //将集合反转 Collections.reverse(list); System.out.println(list);//[five,four,three,six,one]
List集合重载了一对add和remove方法
Listlist = new ArrayList<>(); list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); System.out.println(list);//[one,two,six,three,four,five] list.add(2,"six"); System.out.println(list);//[one, two, six, three, four, five] String e = list.remove(4); System.out.println(list);//[one, two, six, three, five] System.out.println("被删除的元素是:"+e);//被删除的元素是:four
List subList(int start , int end)获取指定范围的子集
Listlist = new ArrayList<>(); for(int i=0;i<10;i++){ list.add(i); } System.out.println(list);//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] List subList = list.subList(3,8); System.out.println(subList);//[3, 4, 5, 6, 7] 含头不含尾 //将子集每个元素扩大十倍 for(int i=0;i



