List 集合概述
-
有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
-
与Set集合不同,列表通常有重复的元素。
package com.itheima_01; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* List集合特点 有序:存储和取出的元素一致 可重复:存储的元素可以重复 */ public class ListDemo { public static void main(String[] args) { //创建集合对象 List<String> l = new ArrayList<String>(); //添加元素 //有序:存储和取出的元素一致 l.add("regardless 不注意的"); l.add("essential 基本的"); l.add("emergency 紧急情况"); //可重复:存储的元素可以重复 l.add("regardless 不注意的"); //输出元素 System.out.println(l); //迭代器的方式遍历 Iterator<String> it = l.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } } }
List集合特有的方法
-
-
E
get(int index)
返回此列表中指定位置的元素。
-
package com.itheima_01; import java.util.ArrayList; import java.util.List; /* List集合特有的方法 void add(int index, E element) 将指定的元素插入此列表中的指定位置(可选操作)。 E remove(int index) 删除该列表中指定位置的元素(可选操作)。 E set(int index, E element) 用指定的元素(可选操作)替换此列表中指定位置的元素。 E get(int index) 返回此列表中指定位置的元素。 */ public class ListDemo02 { public static void main(String[] args) { //创建集合对象 List<String> l = new ArrayList<String>(); //添加元素 l.add("regardless 不注意的"); l.add("essential 基本的"); l.add("emergency 紧急情况"); //输出集合元素 System.out.println(l); //void add(int index, E element) // 将指定的元素插入此列表中的指定位置(可选操作)。 l.add(1,"resistance 阻力"); // E remove(int index) // 删除该列表中指定位置的元素(可选操作)。 System.out.println(l.remove(1)); // E set(int index, E element) // 用指定的元素(可选操作)替换此列表中指定位置的元素。 System.out.println(l.set(0,"已被修改")); //E get(int index) // 返回此列表中指定位置的元素。 //System.out.println(l.get(1)); //用for循环改进 for(int i=0; i<l.size(); i++){ String s = l.get(i); System.out.println(s); } } }
List常用集合子类
-
ArrayList:底层数据结构是数组,查询快,增删慢
-
LinkedList:底层数据结构是链表,查询慢,增删快
-
package com.itheima_02; import sun.awt.image.ImageWatched; import javax.crypto.spec.PSource; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; /* List常用集合子类 ArrayList:底层数据结构是数组,查询快,增删慢 LinkedList:底层数据结构是链表,查询慢,增删快 */ public class ListDemo { public static void main(String[] args) { //创建集合对象 ArrayList:底层数据结构是数组,查询快,增删慢 ArrayList<String> a = new ArrayList<String>(); //添加元素 a.add("regardless 不注意的"); a.add("essential 基本的"); a.add("emergency 紧急情况"); //遍历 //增强for for(String s : a){ System.out.println(s); } System.out.println("____________"); //普通for for(int i=0;i<a.size(); i++){ String s = a.get(i); System.out.println(s); } System.out.println("____________"); //迭代器 Iterator<String> it = a.iterator(); while (it.hasNext()){ String s1 = it.next(); System.out.println(s1); } System.out.println("+++++++++++++++++"); //LinkedList:底层数据结构是链表,查询慢,增删快 LinkedList<String> LL = new LinkedList<String>(); //添加元素 LL.add("regardless 不注意的"); LL.add("essential 基本的"); LL.add("emergency 紧急情况"); //增强for for (String s : LL ){ System.out.println(s); } } }
-