ArrayList
3.ArrayList
- 数组结构实现,查询快、增删慢;
- JDK1.2版本,运行效率快、线程不安全;
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合
ArrayList arrayList = new ArrayList();
//1.添加元素
Student s1=new Student("Tom",20);
Student s2=new Student("Jack",21);
Student s3=new Student("Rose",22);
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
//2.删除元素
//arrayList.remove(new Student("Tom",20));//不会删除arrayList的tom,需要重写Student的equals()
//3.遍历元素
System.out.println("---3.1 使用迭代器----------");
Iterator iterator=arrayList.iterator();
while (iterator.hasNext()){
Student s=(Student)iterator.next();
System.out.println(s.toString());
}
System.out.println("---3.2 使用列表迭代器--------");
ListIterator listIterator=arrayList.listIterator();
while (listIterator.hasNext()){
Student s=(Student)listIterator.next();
System.out.println(s.toString());
}
while (listIterator.hasPrevious()){
Student s=(Student)listIterator.previous();
System.out.println(s.toString());
}
//4.判断
System.out.println(arrayList.contains(new Student("Tom",20)));
System.out.println(arrayList.isEmpty());
//5.查找
System.out.println(arrayList.indexOf(new Student("Rose",22)));
}
}
4.Vector
- 数组结构实现,查询快、增删慢;
- JDK1.0版本,运行效率慢、线程安全;
public class VectorDemo {
public static void main(String[] args) {
//创建集合
Vector vector=new Vector();
//1.添加元素
vector.add("apple");
vector.add("orange");
vector.add("banana");
System.out.println("元素个数:"+vector.size());
//2.删除
// vector.remove(0);
// vector.remove("banana");
//3.遍历
System.out.println("----3.1 使用枚举器-------");
Enumeration enumeration=vector.elements();
while (enumeration.hasMoreElements()){
String s=(String)enumeration.nextElement();
System.out.println(s);
}
//4.判断
System.out.println(vector.contains("banana"));
System.out.println(vector.isEmpty());
//5.Vector其他方法
vector.get(1);
vector.firstElement();
vector.setElementAt("pearl",2);
}
}
5.LinkedList
- 链表结构实现,查询慢、增删快
public class LinkedListDemo {
public static void main(String[] args) {
//创建集合
LinkedList list = new LinkedList();
//1.添加元素
Student s1=new Student("Tom",20);
Student s2=new Student("Jack",21);
Student s3=new Student("Rose",22);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s2);
//2.删除元素
//arrayList.remove(new Student("Tom",20));//不会删除arrayList的tom,需要重写Student的equals()
//3.遍历元素
System.out.println("---3.1 使用迭代器----------");
Iterator iterator=list.iterator();
while (iterator.hasNext()){
Student s=(Student)iterator.next();
System.out.println(s.toString());
}
System.out.println("---3.2 使用列表迭代器--------");
ListIterator listIterator=list.listIterator();
while (listIterator.hasNext()){
Student s=(Student)listIterator.next();
System.out.println(s.toString());
}
while (listIterator.hasPrevious()){
Student s=(Student)listIterator.previous();
System.out.println(s.toString());
}
//4.判断
System.out.println(list.contains(new Student("Tom",20)));
System.out.println(list.isEmpty());
//5.查找
System.out.println(list.indexOf(new Student("Rose",22)));
}
}
本文来自博客园,作者:老李学Java,转载请注明原文链接:https://www.cnblogs.com/JasonPro/p/15922146.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构