package om.hanqi.test; import java.util.ArrayList; import java.util.List; public class Test01 { public static void main(String[] args) { //List 集合 //List是接口,表示数据列表 //可变数组:有序,长度可变 //<>代表泛型,在定义集合是确定中的数据类型,jdk1.5之后才能加入的 //需要用实现类型进行实例化 List<String> ls = new ArrayList<>(); //明确了数据类型 List ls1 = new ArrayList(); //不能确定集合的数据类型 //把数据放入集合 //使用明确的类型接受数据 ls.add("asd"); //只能使用object类型接受数据 ls1.add(232332); List<Integer> ls2=new ArrayList<>(); ls2.add(123); } }
package exception; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Test021 { public static void main(String[] args) { //List集合,存放的数据是Person及子类的实例 List<Person> lsp=new ArrayList <Person>(); //添加数据 Person p5=new Person("A",20); lsp.add(p5); lsp.add(new Person("a",20)); lsp.add(new Person("b",20)); lsp.add(new Person("c",20)); lsp.add(p5); //添加子类的实力 lsp.add(new Student("e",20)); //插入数据 lsp.add(3, new Person("D",21)); //获取长度 System.out.println(lsp.size()); //查询数据,查找某个数据所在位置的索引 System.out.println(lsp.indexOf(p5)); //判断是否存在 System.out.println("判断是否存在="+lsp.contains(p5)); //遍历集合 //1、for循环 for(int i=0;i<lsp.size();i++) { System.out.println(lsp.get(i)); } //2、foreach System.out.println("foreach方式"); for(Person p:lsp) { System.out.println(p); } //3、迭代器 System.out.println("迭代器方式"); //获取迭代器 //可以看做是一个指针 //获取迭代器是,指针处于第一条记录的前面,在集合外面 Iterator<Person> it= lsp.iterator(); //判断能否移动 while(it.hasNext()) { //移动指针到下一条数据,同事获取数据 Person p=it.next(); System.out.println(p); //移除数据 if(p==p5){ it.remove();} } //获取数据 Person p3=lsp.get(3); //显示对象的所有属性的值 System.out.println(p3); //修改数据 lsp.set(0, new Person("F",30)); //移除数据 lsp.remove(1); System.out.println("size()="+lsp.size()); //清除数据 lsp.clear(); System.out.println("size()="+lsp.size()); } }