-----------------------------------------------------
Java培训、Android培训、iOS培训、.Net培训
、
期待与您交流!
-----------------------------------------------------
通过实例讲解吧:
package exp;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
public class ArrayListDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
IntegerArr(list);
List<String> list2 = new ArrayList<String>();
StringArr(list2);
List<StudentInf> list3 = new ArrayList<StudentInf>();
ObjectArr(list3);
}
private static void IntegerArr(List<Integer> list){
Random rd = new Random();
for(int i =0; i< 10; i++){
list.add(rd.nextInt(50));
}
System.out.println("ArrayList存储整形数值:");
Iterator it =list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println("\n");
}
private static void StringArr(List<String> list){
for(int i = 0; i< 10; i++){
list.add("A"+i);
}
System.out.println("ArrayList存储字符串值:");
Iterator it =list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println("\n");
}
private static void ObjectArr(List<StudentInf> list){
StudentInf stuInf;
String[] name = {"刘雅","李佳","陈馨","张凯","王力"};
String sex,sexStr = "男女";
for(int i = 0; i< 5; i++){
if(i < 3)
sex = sexStr.charAt(1)+"";
else
sex = sexStr.charAt(0)+"";
stuInf = new StudentInf(name[i],sex,"高三一班");
list.add(stuInf);
}
System.out.println("ArrayList存储对象:");
Iterator it =list.iterator();
while(it.hasNext()){
System.out.println(it.next().toString());
}
System.out.println("\n");
}
}
class StudentInf{
private String name;
private String sex;
private String classmate;
public StudentInf(){}
public StudentInf(String name,String sex,String classmate){
this.name = name;
this.sex = sex;
this.classmate = classmate;
}
@Override
public String toString() {
String inf;
inf = "姓名:"+this.name+"\t 性别:"+this.sex+"\t班级:"+this.classmate;
return inf;
}
}
程序运行后:
可以看到,信息都正确输出了。
【小结】
ArrayList可以储存任何对象,即ArrayList<?>,因为
添加到 ArrayList 中的任何引用或值类型都将隐式地向上强制转换为 Object对象。而强制转换以及装箱和取消装箱操作都会降低性能,所以集合的数据比较多的时候,使用泛型是很有必要的。