欢迎大家来到IT世界,在知识的湖畔探索吧!
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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/77908.html