泛形-generic



/**
* 泛形
* @author zyengogo
*/
public class Demo1 {

/**
* @param args
*/
public static void main(String[] args) {
/**
* 泛形的使用
*
* 泛形可以避免在取值的时候,进行强制装换,是程序可读性强
*/


//指定了,这个list是String类型的
List<String> list=new ArrayList<String>();

//这样的list中,只能是String的类型
list.add("加入泛型11111");
list.add("加入泛型22222");
list.add("加入泛型33333");

/**
* 取值方式一
* 迭代器
*/
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);
}
System.out.println(list.get(0));

}


@Test
public void Test(){
//Map<Integer, String> map=new HashMap<Integer, String>();
//LinkedHashMap..这个有顺序
Map<Integer, String> map=new LinkedHashMap<Integer, String>();

map.put(1, "1111");
map.put(2, "2222");
map.put(3, "333");
map.put(4, "444");

/**
*传统取值
*keyset--map.keySet();
*entryset--map.entrySet();
*/
//Set<Map,Entry<Integer,String>> set= map.entrySet();


/**
* 增强for
*/
for(Map.Entry<Integer, String> entry:map.entrySet()){
int key=entry.getKey();
String value=entry.getValue();

System.out.println(key +" =" + value);
}

}

public void Test2(){
//用泛形时,如果两边都用了,两边必须一样;
//泛形的类,便于后的class是不带泛形的class,主要是为了程序的执行效率

List<String> list=new ArrayList<String>();
//List<Object> list1=new ArrayList<String>();
//List<String> list2=new ArrayList<Object>();
List<String> list3=new ArrayList();
List list4=new ArrayList<String>();
}

}




/**
*
* @author zyengogo
*
*/
public class Demo2 {


//交换两个指定数组位置
public<T> void test(T arr[],int pot1,int pot2){
T temp=arr[pot1];
arr[pot1]=arr[pot2];
arr[pot2]= temp;
}


//编写一个泛形类型方法,接受任意数组,并颠覆数组中所有元素
public<T> void reverse(T arr[]){

int start = 0;
int end = arr.length-1;

while(true){
if(start >= end){
break;
}
T temp=arr[0];
arr[0]=arr[end];
arr[end]= temp;

start ++;
end --;
}

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值