Collection接口、Iterator迭代器、增强for遍历

Collection接口

  创建集合的格式:

    Collection<元素类型> 变量名 = new ArrayList<元素类型>();

    方式2:Collection 变量名 = new ArrayList();

  Collection接口中的方法

    添加元素:add("a");

    //判断集合中是否包含某元素:contains("b");

    删除元素:remove("a");

    集合元素长度:size();

    清除所有元素:clear();

    例:

 1 public class Demo02 {
 2     public static void main(String[] args) {
 3         Collection<String> col=new ArrayList<String>();
 4         col.add("a");
 5         col.add("b");
 6         System.out.println(col);
 7         //col.clear();
 8         //System.out.println(col);
 9         //判断集合中是否包含某元素
10         boolean flag=col.contains("b");
11         System.out.println(flag);
12         //删除元素
13         col.remove("a");
14         System.out.println(col);
15         //遍历需向下转型
16         ArrayList<String> arr=(ArrayList<String>)col;
17         for (int i = 0; i < arr.size(); i++) {
18             System.out.println(arr.get(i));
19         }
20     }
21 }

Iterator迭代器

  hasNext()方法:用来判断集合中是否有下一个元素可以迭代。如果返回true,说明可以迭代。

  next()方法:用来返回迭代的下一个元素,并把指针向后移动一位。

  例:

 1 public class Demo03 {
 2     public static void main(String[] args) {
 3         Collection<String> col=new ArrayList<String>();
 4         col.add("aaa");
 5         col.add("bbb");
 6         col.add("ccc");
 7         //迭代器遍历
 8         Iterator<String> it=col.iterator();
 9         //判断集合中下个元素是否有值
10 
11         while(it.hasNext()){
12             String a=it.next();
13             if(a.equals("bbb")){
14             System.out.print(a);
15 
16             }}
17     }
18 }

  如图所示:

    

 增强for遍历

  格式:

    for(数据类型 变量名 : 容器) {
      //...
      }
  增强for遍历集合,本质是迭代器
  增强for的优点和缺点
    优点: 语法更加的简洁。 省略了索引的操作。
    缺点: 在循环中拿不到索引,所以如果要对索引进行操作,还需要使用普通for循环。
 
 应用:

 1 public class Demo05 {
 2     public static void main(String[] args) {
 3         Collection<Person> col=new ArrayList<Person>();
 4         col.add(new Person("熊大",18));
 5         col.add(new Person("熊二",19));
 6         //增强for遍历
 7         for(Person p:col){
 8             System.out.println(p);
 9         }
10         //数组
11         int[] arr={1,5,5,3,6,9,7,5};
12         for(int i:arr){
13             System.out.print(i);
14         }
15     }
16 }

  如图所示:

    

原文地址:https://www.cnblogs.com/zhai113/p/11632374.html