增强for循环、泛型

增强for循环:

增强for循环是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。

格式:for(元素的数据类型 变量 : Collection集合or数组){

}

import java.util.ArrayList;
import java.util.Collection;

public class Demo06 {
  public static void main(String[] args) {
  /*for(你容器中存放的数据类型 变量名:你要遍历的容器的名字){
  System.out.println(变量名);
  }*/
  Collection<String> col=new ArrayList<String>();
  col.add("abc");
  col.add("bcd");
  col.add("efg");
  for(String s:col){
    System.out.println(s);
    }
  }
}

public static void main(String[] args) {
  Collection<Person> col=new ArrayList<Person>();
  col.add(new Person("哆啦A梦",88));
  col.add(new Person("静香",89));
  //增强for循环遍历
  for(Person p:col){
    System.out.println(p);
  }
}

泛型:

泛型,用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。

含有泛型的类:

    定义格式:修饰符 class 类名<代表泛型的变量> { }

class ArrayList<E>{

public boolean add(E e){ }

    public E get(int index){ }

}

含有泛型的接口:

public interface Iterator<E> {

    public abstract E next();

}

泛型通配符:<?>

import java.util.ArrayList;
import java.util.Iterator;

public class Demo {
  public static void main(String[] args) {
    ArrayList<Cooker> arr1=new ArrayList<Cooker>();
    arr1.add(new Cooker());
    arr1.add(new Cooker());
    ArrayList<Waiter> arr2=new ArrayList<Waiter>();
    arr2.add(new Waiter());
    arr2.add(new Waiter());
    get(arr1);
    get(arr2);
  }
  //遍历容器
  public static void get(ArrayList<? extends Emp> arr){
    Iterator<? extends Emp> it=arr.iterator();
    while(it.hasNext()){
    it.next().work();
    }
  }
}

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

public class Demo03 {
  public static void main(String[] args) {
    ArrayList<String> arr=new ArrayList<String>();
    arr.add("a");
    arr.add("a");
    HashSet<Integer> set=new HashSet<Integer>();
    set.add(123);
    set.add(456);
    get(arr);
    get(set);
  }
  //写一个方法来遍历两个集合
  public static void get(Collection<?> col){
    //获取迭代器对象
    Iterator<?> it=col.iterator();

    while(it.hasNext()){
      System.out.println(it.next());
    }
  }
}

猜你喜欢

转载自www.cnblogs.com/boss-H/p/10957245.html