1 public static <E> void main(String[] args) { 2 // 搞一个放名字的集合 3 List<String> as = new ArrayList<String>(); 4 // 往里面放东西 5 as.add("小黑"); 6 as.add("小明"); 7 // 拿东西 8 System.out.println(as.get(0)); 9 System.out.println(as.get(1)); 10 // 删东西(delete,remove) 11 as.remove("小黑"); 12 // 拿东西 13 System.out.println(as.get(0)); 14 // 放东西 15 ArrayList<String> bs = new ArrayList<String>(); 16 bs.add("啊啊"); 17 bs.add("bb"); 18 bs.add("cc"); 19 as.addAll(bs); 20 // 不知道里面有什么东西 21 for (int i = 0; i < as.size(); i++) { 22 System.out.println(as.get(i)); 23 // as.get(i) == as[i] 24 } 25 for (String s : as) { 26 System.out.println(s); 27 } 28 // 查看长度(length,size) 29 System.out.println(as.size()); 30 31 // 数组的空间必须是连续的 32 // 随机查找:根据下标取值 33 // ArrayList其实就是一个数组 34 // 扩容的原理:新建一个更大的数组,把原来的数组的内容复制过去 35 ArrayList<String> fs = new ArrayList<String>(2); 36 fs.add("a"); 37 fs.add("a"); 38 fs.add("a"); 39 40 // 链表和数组的区别: 41 // 数组查询效率搞 42 // 链表是扩容,删除效率搞 43 44 // 链表:一些不连续的空间,彼此有联系 45 /** 46 LinkedList<String> ls=new LinkedList<String>(); 47 ls.get(2); 48 ls.getFirst(); 49 ls.getLast(); 50 **/ 51 } 52 }
1 public static void main(String[] args) { 2 //Set集合: 去重 3 Set<String> set=new HashSet<String>(); 4 set.add("小黑"); 5 set.add("小百"); 6 set.add("小黑"); 7 for (String s : set) { 8 System.out.println(s); 9 } 10 System.out.println(set.size()); 11 12 //新建一个存放数字的ArrayList 13 List<Integer> is=new ArrayList<Integer>(); 14 is.add(12); 15 16 set.clear(); 17 System.out.println(set.size()); 18 19 /** 20 Set<Dog> ds = new HashSet<Dog>(); 21 // 只要名字相同 认为它们是同一只狗 22 // hashset内容用的是hashcode+equals做相等判断 23 ds.add(new Dog("xiaobai","a")); 24 ds.add(new Dog("xiaobai","b")); 25 System.out.println(ds.size()); 26 //给出一只狗 判断这只狗是否在集合中存在 27 Dog d = new Dog("xiaobai","c"); 28 System.out.println(ds.contains(d)); 29 **/ 30 31 /** 32 List ls=new ArrayList(); 33 ls.add(1); 34 ls.add(2); 35 ls.add(3); 36 ls.add(4); 37 ls.add("a"); 38 ls.add("b"); 39 ls.add("c"); 40 ls.add("d"); 41 ls.add(new Dog("aa", "bb")); 42 System.out.println(ls.contains(new Dog("aa", "bb"))); 43 **/ 44 45 //去重:有则不加,无则加 46 List<Dog> ls=new ArrayList<Dog>(); 47 for (int i = 0; i < 3; i++) { 48 System.out.println("请输入狗的名字"); 49 Scanner mys = new Scanner(System.in); 50 Dog d=new Dog(mys.next(), "bb"); 51 if(!ls.contains(d)) { 52 ls.add(d); 53 } 54 } 55 System.out.println(ls.size()); 56 } 57 58 }