集合框架1----collection与List子接口
Collectionti体系:
collection父接口
有关代码:
import javax.swing.text.html.HTMLDocument;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo1 {
public static void main(String[] args) {
//创建集合
Collection collection = new ArrayList();
//1.添加元素
collection.add("西瓜");
collection.add("苹果");
collection.add("榴莲");
System.out.println("元素个数:"+collection.size());//输出元素个数:3
//遍历
System.out.println(collection);//输出[西瓜, 苹果, 榴莲]
//2.删除元素
collection.remove("榴莲");//删除指定元素
System.out.println(collection);//输出[西瓜, 苹果]
collection.clear();//删除全部元素
System.out.println(collection);//输出[]
//再次添加元素
collection.add("西瓜");
collection.add("苹果");
collection.add("榴莲");
//3.使用迭代器进行遍历
//1.hasNext():有没有下一个元素
//2.next():获取下一个元素
//3.remove():删除元素
Iterator iterator = collection.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next()+" ");//输出西瓜 苹果 榴莲
iterator.remove();
}
System.out.println();//换行
System.out.println(collection);//输出[]
//4.判断
System.out.println(collection.contains("西瓜"));/*判断数组是否有西瓜,由于iterator.remove();已经将
数组清空,因此没有西瓜,输出false*/
System.out.println(collection.isEmpty());//判断数组是否为空,数组被清空,因此输出true
}
}
代码如下:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class ListDemo1 {
public static void main(String[] args) {
//创建List对象
List list = new ArrayList<>();
//添加数据
list.add("苹果");
list.add("香蕉");
list.add(0,"鸭梨");//在数组第一个位置添加鸭梨
System.out.println("元素个数为:"+list.size());//输出元素个数为:3
System.out.println(list.toString());//输出[鸭梨, 苹果, 香蕉]
//删除元素
System.out.println("------------删除元素--------------");
list.remove("苹果");//根据数据名进行删除
// list.remove(0);//根据下标进行删除
System.out.println(list.toString());
System.out.println("---------------遍历数组-------------------");
System.out.println("--------------1.使用普通for循环-----------------------------");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));//get()根据下标获取元素,输出鸭梨 香蕉
}
System.out.println("--------------2.使用增强for循环-----------------------------");
for (Object i:list){
System.out.println(i);
}
System.out.println("--------------3.使用Iterator迭代器循环-----------------------------");
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("--------------4.使用ListIterator循环-----------------------------");
/*与Iterator的区别,ListIterator可以向前或向后遍历,添加,删除,修改元素*/
ListIterator listIterator = list.listIterator();
System.out.println("从前往后迭代:");
while (listIterator.hasNext()){
System.out.println(listIterator.nextIndex()+":"+listIterator.next());
}
System.out.println("从后往前迭代:");
while (listIterator.hasPrevious()){
System.out.println(listIterator.previousIndex()+":"+listIterator.previous());
}
System.out.println("--------------------4.获取位置-------------------");
System.out.println(list.indexOf("香蕉"));//输出1
}
}
补充
import java.util.ArrayList;
import java.util.List;
public class ListDemo2 {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
//删除元素
//list.remove(30);//报错,数字不可直接删除,需要使用下标进行删除操作
list.remove(1);
System.out.println(list.toString());//输出[20, 40, 50, 60]
list.add(1,30);
System.out.println(list.toString());//输出[20, 30, 40, 50, 60]
//使用subList()取元素;
System.out.println(list.subList(1, 3));//输出[30, 40]
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~