ArrayList
2016-02-25 09:00
375 查看
public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
import java.util.ArrayList; import java.util.Iterator; /* * List的子类特点: * ArrayList: * 底层数据结构是数组,查询快,增删慢 * 线程不安全,效率高 * Vector: * 底层数据结构是数组,查询快,增删慢 * 线程安全,效率低 * LinkedList: * 底层数据结构是链表,查询慢,增删快 * 线程不安全,效率高 */ public class ArrayListDemo { public static void main(String[] args) { // 创建集合对象 ArrayList array = new ArrayList(); // 创建学生对象 Student s1 = new Student("武松", 30); Student s2 = new Student("鲁智深", 40); Student s3 = new Student("林冲", 36); // 添加元素 array.add(s1); array.add(s2); array.add(s3); // 遍历 Iterator it = array.iterator(); while (it.hasNext()) { Student s = (Student) it.next(); System.out.println(s.getName() + "---" + s.getAge()); } for (int x = 0; x < array.size(); x++) { // ClassCastException 注意,千万要搞清楚类型 // String s = (String) array.get(x); // System.out.println(s); Student s = (Student) array.get(x); System.out.println(s.getName() + "---" + s.getAge()); } } }
public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
import java.util.ArrayList; /* * 集合的嵌套遍历 * 需求: * 我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student> * 但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。 * 而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢? * 就是这个样子的:ArrayList<ArrayList<Student>> */ public class ArrayListDemo { public static void main(String[] args) { // 创建大集合 ArrayList<ArrayList<Student>> bigArrayList = new ArrayList<ArrayList<Student>>(); // 创建第一个班级的学生集合 ArrayList<Student> firstArrayList = new ArrayList<Student>(); // 创建学生 Student s1 = new Student("唐僧", 30); Student s2 = new Student("孙悟空", 29); Student s3 = new Student("猪八戒", 28); Student s4 = new Student("沙僧", 27); Student s5 = new Student("白龙马", 26); // 学生进班 firstArrayList.add(s1); firstArrayList.add(s2); firstArrayList.add(s3); firstArrayList.add(s4); firstArrayList.add(s5); // 把第一个班级存储到学生系统中 bigArrayList.add(firstArrayList); // 创建第二个班级的学生集合 ArrayList<Student> secondArrayList = new ArrayList<Student>(); // 创建学生 Student s11 = new Student("诸葛亮", 30); Student s22 = new Student("司马懿", 28); Student s33 = new Student("周瑜", 26); // 学生进班 secondArrayList.add(s11); secondArrayList.add(s22); secondArrayList.add(s33); // 把第二个班级存储到学生系统中 bigArrayList.add(secondArrayList); // 创建第三个班级的学生集合 ArrayList<Student> thirdArrayList = new ArrayList<Student>(); // 创建学生 Student s111 = new Student("宋江", 40); Student s222 = new Student("吴用", 35); Student s333 = new Student("高俅", 30); Student s444 = new Student("李师师", 22); // 学生进班 thirdArrayList.add(s111); thirdArrayList.add(s222); thirdArrayList.add(s333); thirdArrayList.add(s444); // 把第三个班级存储到学生系统中 bigArrayList.add(thirdArrayList); // 遍历集合 for (ArrayList<Student> array : bigArrayList) { for (Student s : array) { System.out.println(s.getName() + "---" + s.getAge()); } } } }
相关文章推荐
- Android之TextView实现文字过长时省略部分或者滚动显示
- GameBench企业版中关于FPS的测试项分析
- java <? super Fruit>与<? extends Fruit>
- 1042. Shuffling Machine (20)
- 做一个快乐的技术型销售
- 产品经理,不要成为作图经理
- 手动实现MySQL归档
- SVN 配置的几个问题
- 将MySQL数据迁移到Redis
- 122. Best Time to Buy and Sell Stock II
- 开发板上修改时间方法date命令【转】
- mysql数据库在Navicat Premium连接的时候出现1862错误
- Android开发中在一个Activity中关闭另一个Activity
- 指针数组与数组指针
- 活动目录数据库文件介绍
- Android中的Toast的标准格式和自定义格式
- 12步教你理解Python装饰器
- spark中flatMap函数用法--spark学习(基础)
- 04-08移动字母
- 探索式测试中的几种误区