网站首页 > java教程 正文
1 List接口介绍
List集合的特点
有序(存取顺序一致),有索引,元素可重复
List集合常用子类
ArrayList
LinkedList
2 List接口中常用方法
public void add(int index, E element): 将指定的元素添加到指定的位置
public E get(int index): 根据索引获得指定位置的元素
public E remove(int index): 删除指定位置的元素,返回被删除的元素
boolean remove(Object o): 删除指定的元素,删除成功返回true,否则false
public E set(int index, E element): 将指定位置的元素修改为指定的值element
示例
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args){
// 创建集合对象
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(4);
// 将元素4添加到索引1位置
list.add(1,4);
// 将索引0的元素修改为6
list.set(0,6);
System.out.println(list);
// 要注意索引越界问题
// list.add(5,6);
// 根据索引获得元素
System.out.println(list.get(2));
// 删除指定位置的元素
// System.out.println(list.remove(1));
// 删除元素1
System.out.println(list.remove(Integer.valueOf(5)));
System.out.println(list);
}
}
3 List接口常用子类
ArrayList
LinkedList
3.1 ArrayList集合
/**
ArrayList集合的特点
有序(存取顺序一致),有索引,元素可重复
底层是数组结构:增删慢,查询快,线程不安全的,效率高
*/
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args){
// 创建ArrayList集合对象
ArrayList<String> list = new ArrayList<>();
list.add("A") ;
list.add("B") ;
list.add("C") ;
System.out.println(list);
}
}
3.2 LinkedList集合
LinkedList集合特点
实现了List接口
有序(存取顺序一致),有索引,元素可重复
底层是双链表结构,查询慢,增删快,线程不安全的,效率高
LinkedList集合特有方法方法
public void addFirst(E e): 将元素添加到链表头
public void addLast(E e): 将元素添加到链表尾部
public E getFirst(): 获得链表头元素
public E getLast(): 获得链表尾部元素
public E removeFirst(): 删除链表头元素
public E removeLast(): 删除链表尾部元素
示例
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args){
// 创建LinkedList集合对象
LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add(0,"B");
// 将元素添加到链表头
list.addFirst("C");
// 将元素添加到链表尾部
list.addLast("D");
list.add("E");
// 获得链表头元素
System.out.println(list.getFirst());
// 获得链表尾部元素
System.out.println(list.getLast());
System.out.println(list);
System.out.println(list.get(3));
// 删除链表头元素
System.out.println(list.removeFirst());
// 删除链表尾部元素
System.out.println(list.removeLast());
}
}
4 ArrayList和LinkedList的选择
需要执行大量的增删操作,则选择LinkedList
不需要执行增删操作,则选择ArrayList
猜你喜欢
- 2024-10-05 List的用法和实例详解——Java进阶知识讲义系列(四)
- 2024-10-05 从Collection到List:Java集合转换的艺术
- 2024-10-05 小心!"数组"转"集合"的这几个隐藏"bug"
- 2024-10-05 JAVA脱水学习-java数组解析及常用操作
- 2024-10-05 《极简Java新手编程之道》10.2 List集合
- 2024-10-05 字符串拆分数组(字符串拆成列表)
- 2024-10-05 Java中的ArrayList与LinkedList(java linklist和arraylist的区别)
- 2024-10-05 小白学JAVA之——List接口的实现类——ArrayList
- 2024-10-05 「漫步计算机系统」之数据结构与算法(5):Array、List和Map等
- 2024-10-05 每日分享- java 编程中 ArrayList 集合怎么扩容
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)