ArrayList储存数据的特点:
- 实现长度可变的数组
- 可以储存重复元素
- 一个有序的容器/集合框架(怎么放进去 怎么取出来)
- list.add() //添加元素
- list.size() //获取长度
package ArrayList;
import java.util.ArrayList;
import java.util.List;
import domain.Score;
import domain.Student;
public class ArrayListTest {
public static void main(String[] args) {
List list = new ArrayList();
//
// list.add("张三丰");
// list.add(18);
// list.add('男');
//
// //两种遍历方式
// for(int i = 0;i<list.size();i++){
// System.out.println(list.get(i));
// }
//
// for(Object s : list){
// System.out.println(s);
// }
Student s1 = new Student("张三",18);
Student s2 = new Student("张四",17);
Score sc1 = new Score("Jave",100);
list.add(s1);
list.add(s2);
list.add(sc1);//添加两种不同类型的对象。
//遍历时会非常麻烦需要用到instanceof 来判断数据类型。从而进行类型的强转
for(int i = 0;i<list.size();i++){
if(list.get(i) instanceof Student){
Student s =(Student) list.get(i);
System.out.println(s.getName()+s.getAge()+"岁.");
}else if(list.get(i) instanceof Score){
Score sc = (Score)list.get(i);
System.out.println(sc.getSourseName()+":"+sc.getScore());
}
}
//二,"泛型" : 向集合中添加同一种数据类型的数据 并且只能添加这一种类型
//使用泛型 :制定当前和集合框架只能添加什么类型的数据
//通过如上案例发现 如果List集合不指定泛型 在数据处理方面是不是比较复杂 所以建议List集合添加泛型控制元素的类型
// //定义‘String’类型的泛型,来约束List的复制范围,可以是任意类型的。特例:Integer(int)
// List<String> lstr = new ArrayList<String>();
// lstr.add("张三");
// lstr.add("李四");
// lstr.add("王五");
//
// //两种遍历方式
// for(int i = 0;i<lstr.size();i++){
// System.out.println(lstr.get(i));
// }
// for(String s : lstr){
// System.out.println(s);
// }
}
}