1.Collection父接口
集合表示一组被称为其元素的对象 这个是父类接口,子类有List,Map,Set; (增加的元素为字符串,数字等等这些单独的个体) 1.增加元素: Collection collection = new ArrayList(); collection.add("苹果手机"); collection.add("华为手机"); collection.add("小米手机"); System.out.println(collection); //[苹果手机, 华为手机, 小米手机] 2.删除元素 Collection collection = new ArrayList(); collection.add("苹果手机"); collection.add("华为手机"); collection.add("小米手机"); collection.remove("苹果手机");//只能删除具体的元素内容 collection.remove(2);//不能用下标来删除元素 System.out.println(collection); //[华为手机, 小米手机] 3.遍历元素: 方法一:增强for Collection collection = new ArrayList(); collection.add("苹果手机"); collection.add("华为手机"); collection.add("小米手机"); for (Object object:collection ) {//为什么这里是Object,不能是其他,比如int类型 //因为集合是一个对象,这个对象包含着一些元素; System.out.println(object); } //苹果手机 //华为手机 //小米手机 方法二:迭代器 Iterator iterator = collection.iterator(); //用collection接口的实例对象调用iterator方法; //iterator方法返回的是一个iterator接口,它有自己的实现类; //有3个方法: // hasNext(),返回的是Boolean类型的,判断是否还有迭代的元素; // next(),返回迭代的元素; // remove(),删除元素,不用传参,默认删除元素最后一位 while (iterator.hasNext()){ System.out.println(iterator.next()); }
(增加的类型为类的实例对象) 也就是往集合里面塞对象进去; 1.增加数据 Collection collection = new ArrayList(); Student s1 = new Student("张三", 18); Student s2 = new Student("李四", 19); Student s3 = new Student("王五", 20); collection.add(s1); collection.add(s2); collection.add(s3); System.out.println(collection); //[com.qfedu.springboot.demo.Student@38af3868, //com.qfedu.springboot.demo.Student@77459877, //com.qfedu.springboot.demo.Student@5b2133b1] 2.删除数据 System.out.println(collection.size());//3 collection.remove(s2); System.out.println(collection.size());//2 collection.remove(1); //说明不能用下标来删除,只能用实例对象来删除; System.out.println(collection.size()); //2 collection.clear();//清空元素的元素; System.out.println(collection.size());//0 3.遍历数据 1.增强for 2.迭代器 //跟普通的遍历没啥区别,一样的套路;
2.List接口
特点:有序,有下标,可重复 1.增加元素: List list = new ArrayList(); list.add("张三"); list.add("张四"); list.add("张五"); System.out.println(list); 2.删除元素: list.remove(2); list.remove("张三"); System.out.println(list);//张四 //List接口可以用下标的方式和具体的元素内容来进行删除; 3.遍历元素: 方法一:使用for循环 //调用list接口里面的get方法, //此方法返回此列表中指定位置的元素。 for (int i = 0; i < 3; i++) { System.out.println(list.get(i)); } //张三 //张四 //张五 方法二:使用增强for; 方法三:使用迭代器; 方法四:使用列表迭代器(Collection没有) ListIterator listIterator = list.listIterator(); //调用列表迭代器方法,赋值变量; while (listIterator.hasNext()){ System.out.println(listIterator.nextIndex()+":"+listIterator.next()); 0:张三 1:张四 2:张五 //列表迭代器跟一般迭代器的区别就是:可以从前往后,从后往前迭代; ListIterator listIterator = list.listIterator(); while (listIterator.hasNext()){ System.out.println(listIterator.nextIndex()+":"+listIterator.next()); } while (listIterator.hasPrevious()){ System.out.println(listIterator.previousIndex()+":"+listIterator.previous()); } } 这里需要先顺序迭代,然后才能逆向迭代,不能直接逆向; 我思考的是顺序迭代到最后一位,指针停在最后了,所以才可以进行逆向, 不然直接逆向,指针在最前面,你怎么逆向也没用, 不知道对不对,有看到的大佬可以指定,以后再回头来改吧。
//集合是不能增加基本类型的元素的,这里有装箱和拆箱; //将int类型变成integer类型; List list = new ArrayList(); list.add(20); list.add(30); list.add(40); System.out.println(list); 返回一个集合的方法 subList() List list = new ArrayList(); list.add(20); list.add(30); list.add(40); List list1 = list.subList(0, 1); //左闭右开,返回0到1之间的集合, //所以是20 System.out.println(list1); //[20]3.List实现类ArrayList
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)