ArrayList的简单应用
1 import java.util.ArrayList; 2 import java.util.Iterator; 3 4 5 /* 6 * ArrayList 集合类,内部元素可以重复,且内部有序 7 * 8 * */ 9 public class ArrayListDemo1 { 10 public static void main(String[] args) { 11 ArrayList arraylist=new ArrayList(); 12 test a=new test(1,"我","一"); 13 test e=new test(1,"我","一"); 14 test b=new test(2,"赢","二"); 15 test c=new test(3,"职","三"); 16 test d=new test(4,"场","四"); 17 //添加元素 18 arraylist.add(a); 19 arraylist.add(b); 20 arraylist.add(c); 21 arraylist.add(d); 22 ///查询 23 test v=(test) arraylist.get(1); 24 System.out.println(v); 25 //遍历 26 //方法一 27 for(int i=0;i<arraylist.size();i++){ 28 test v1=(test) arraylist.get(i); 29 System.out.println(v1); 30 } 31 System.out.println("========================="); 32 //方法二 33 for (Object object : arraylist) { 34 System.out.println((test)object); 35 } 36 System.out.println("========================="); 37 //方法三 38 Iterator k1=arraylist.iterator(); 39 while(k1.hasNext()){ 40 test v2=(test)k1.next(); 41 System.out.println(v2); 42 } 43 //查看集合类中是否存在相同元素 44 System.out.println(arraylist.contains(a));//true 45 System.out.println(arraylist.contains(e));//false //重写equels方法后输出true 46 //集合类中的元素移除 47 arraylist.remove(0); 48 arraylist.remove(b); 49 50 } 51 } 52 class test{ 53 int id; 54 String name; 55 String Type; 56 public int getId() { 57 return id; 58 } 59 public void setId(int id) { 60 this.id = id; 61 } 62 public String getName() { 63 return name; 64 } 65 public void setName(String name) { 66 this.name = name; 67 } 68 public String getType() { 69 return Type; 70 } 71 public void setType(String type) { 72 Type = type; 73 } 74 75 public test() { 76 super(); 77 } 78 public test(int id, String name, String type) { 79 super(); 80 this.id = id; 81 this.name = name; 82 Type = type; 83 } 84 //重写toString 85 public String toString() { 86 return "test [id=" + id + ", name=" + name + "]"; 87 } 88 //重写equels() 89 public boolean equals(Object obj) { 90 if (this == obj) 91 return true; 92 if (obj == null) 93 return false; 94 if (getClass() != obj.getClass()) 95 return false; 96 test other = (test) obj; 97 if (id != other.id) 98 return false; 99 return true; 100 } 101 }
泛型只在编译阶段有效,绕过编译阶段就可以绕过泛型。要绕过泛型可通过通过类类型反射集合类中的函数