
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条)