泛型方法(泛型类)的定义与使用
使用泛型方法
package JAVA_Test5;
import java.util.Arrays;
public class Collection {
//泛型的使用方法
//在函数中使用
public static <T> void changePosion(T []array, int i, int j){
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
public static void main(String[] args) {
//第一种方法,定义泛型方法
String []strs = {"1","2","3"};
/*changePosion(strs,1,2);
System.out.println(Arrays.toString(strs));*/
Integer []ints = {1,2,3,4};
/*changePosion(ints,1,2);
System.out.println(Arrays.toString(ints));*/
//第二种定义泛型类
ArrayUtils<String> a1 = new ArrayUtils<>();
a1.reverse(strs);
System.out.println(Arrays.toString(strs));
ArrayUtils<Integer> a2 = new ArrayUtils<>();
a2.ChangePosition(ints,1,3);
System.out.println(Arrays.toString(ints));
}
}
泛型类
package JAVA_Test5;
public class ArrayUtils<T> {
public void ChangePosition(T[] array,int i,int j){
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
public void reverse(T[] array){
for(int i=0,j=array.length-1; i<j; ++i,--j){
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
List的两种使用
package JAVA_Test5;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListForUse {
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("hello");
//stringList.add(1);报错,因为只能add进去String类型的
stringList.add("java");
Object[] s = stringList.toArray();
System.out.println(Arrays.toString(s));
//不使用泛型
List l = new ArrayList<>();
l.add("hello");
l.add(2020); //不进行类型检验
l.add(2020.996);
Object []s2 = l.toArray();
System.out.println(Arrays.toString(s2));
System.out.println(l.size());
}
}
List集合内嵌Map集合表示二维表数据的示例程序
package JAVA_Test5;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//List集合内嵌Map集合表示二维表数据的示例程序(MapInList.java)
public class MapInList {
public static void main(String[] args) {
List<Map<String,Object>> mapList = new ArrayList<>();
Map<String,Object> person1 = new HashMap<>();
person1.put("id",1);
person1.put("name","蜘蛛侠");
person1.put("function","能爬树");
person1.put("power",1000);
Map<String,Object> person2 = new HashMap<>();
person2.put("id",2);
person2.put("name","钢铁侠");
person2.put("function","会打铁");
person2.put("power",2000);
mapList.add(person1);
mapList.add(person2);
//遍历
for(int i=0; i<mapList.size(); ++i){
System.out.println(mapList.get(i));
}
}
}