1.范例说明
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
public class Demo1 {
@Test
public void test1(){
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
Iterator<String> it = list.iterator();
//传统方式获取
while(it.hasNext()){
String value = it.next();
System.out.println(value);
}
//增强for
for(String s:list){
System.out.println(s);
}
}
@Test
public void test2(){
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "aa");
map.put(2, "bb");
map.put(3, "cc");
//传统方式 keyset entryset
Set<Entry<Integer, String>> set = map.entrySet();
Iterator<Entry<Integer, String>> it =set.iterator();
while(it.hasNext()){
Entry<Integer, String> et = it.next();
System.out.println(et.getKey()+" = "+et.getValue());
}
//增强for
for(Entry<Integer, String> en:map.entrySet()){
System.out.println(en.getKey()+" = "+en.getValue());
}
}
@Test
public void test3(){
//用泛型两边要一样
// List<Object> list = new ArrayList<String>();
// List<String> list = new ArrayList<Object>();
List<String> list = new ArrayList();
List list1 = new ArrayList<String>();
}
}
2.自定义泛型并举例
package com.generic;
public class Demo2 {
// 编写泛型方法,实现指定位置上的数组元素交换
public <T> void swap(T arr[], int pos1, int pos2) {
T temp = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = temp;
}
//编写一个泛型方法,接收一个任意数组,并颠倒数组中的所有元素
public <T> void reverse(T arr[]){
int start = 0;
int end = arr.length-1;
while (true) {
if(start>=end){
break;
}
T temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
}