java集合 - List集合

6564 2025-07-21 08:21:39

1、List集合框架

2、集合的定义

集合就是一个保存数据的容器。在计算机中引入集合,是为了便于处理一组类似的数据。Java标准库自带的java.util包提供了集合相关的接口和实现类:Collection接口,它是除了Map接口外所有其他集合类的根接口。

3、List集合的特点

List集合的特点:有序、允许重复。List的行为和数组几乎完全相同:List 内部按照放入元素的先后顺存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。List的实现类:ArrayList、LinkedList、Vector。 ArrayList的内部数据结构是Object[]数组:初始化为一个空数组{ },第一次添加元素时,该数组扩容为10,数组容量不足时,该数组的容量扩容为原容量的1.5倍。扩容方法:grow()。

4、ArrayList的主要方法

方法1:add(E e) 作用:添加新元素至集合的尾部方法2:add(int index,E e) 作用:添加新元素至集合的指定位置方法3:addAll(Collection c) 作用:添加另一个集合中所有的元素至当前集合的尾部方法4:addAll(int index,Collection c) 作用:添加另一个集合中所有的元素至当前集合指定位置

package com.ret.demo2;

import java.util.ArrayList;

public class Demo_02 {

public static void main(String[] args) {

// 创建集合对象

ArrayList list = new ArrayList();

// 操作1:添加新元素

// add(E e)方法:添加新元素至集合尾部

list.add("小乔");

list.add("曹操");

list.add("刘备");

list.add("后羿");

System.out.println(list);

// add(int index,E e)方法:添加新元素至集合的指定位置

list.add(1, "李白");

System.out.println(list);

// addAll(Collection c)方法

// addAll(int index, Collection c)方法

// 添加另外一个集合中所有的元素至当前集合

ArrayList subList = new ArrayList();

subList.add("猪八戒");

subList.add("猪八戒");

subList.add("白骨精");

// 将subList中所有元素添加至list集合的尾部

// list.addAll(subList);

list.addAll(0, subList);

System.out.println(list);

}

}

方法5:get(int index) 作用:获取元素(按照下标位置,获取元素)方法6:remove(int index) 作用:按照下标删除元素 remove(Object value) 作用:按照值删除方法7:indexOf(Object o) 作用:查找元素方法8:set(int index,E e) 作用:按照下标,修改对应元素。

package com.ret.demo2;

import java.util.List;

import java.util.ArrayList;

import java.util.Arrays;

public class Demo_03 {

public static void main(String[] args) {

// 创建临时的List集合

List boyList = Arrays.asList("yk", "qtz", "cby", "cph", "zrz", "dcq", "ywq");

// 全部添加至ArrayList集合中

ArrayList list = new ArrayList();

list.addAll(boyList);

// 操作2:获取元素(按照下标位置,获取元素)

// get(int index)

String first = list.get(0);

String last = list.get(list.size() - 1);

System.out.println("首元素:" + first);

System.out.println("尾元素:" + last);

System.out.println(list);

// 操作3:删除元素(按照下标或值,进行删除)

// remove(int index); 按照下标删除

// remove(Object value) 按照值删除

System.out.println("删除前:" + list);

// list.remove(1); //按照下标删除

list.remove("范亚丽"); // 按照值删除

System.out.println("删除后:" + list);

// 操作4:查找元素

// indexOf(Object o)

int index1 = list.indexOf("张文英");

System.out.println("查找一个不存在的元素时:" + index1);

int index2 = list.indexOf("杨文琦");

System.out.println("查找一个已经存在的元素时:" + index2);

// 操作5:修改元素

// set(int index,E e) : 按照下标位置修改

System.out.println("修改前:"+list);

list.set(1,"尊");

System.out.println("修改后:"+list);

}

}

方法9:list.clear() 作用:清空集合内的所有元素方法10:isContains(E e) 作用:查看元素是否存在方法11:subList(int index,int index) 作用:截取子集合方法12:toArray() 作用:将集合转换成数组方法13:toArray(T[ ] a) 作用:将集合转换成数组

package com.ret.demo2;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class Demo_04 {

public static void main(String[] args) {

List boyList = Arrays.asList("yk", "qtz", "cby", "cph", "zrz", "dcq", "ywq");

// 全部添加至ArrayList集合中

ArrayList list = new ArrayList();

list.addAll(boyList);

System.out.println(list);

// 清空

// list.clear();

// 查看元素是否存在

// boolean isContains = list.contains("yq");

// System.out.println(isCotains);

// 截取子集合

List subs = list.subList(0, 3); // Object数组

System.out.println(subs);

// 转换成数组

Object[] array1 = list.toArray(); // Object数组

String[] array2 = list.toArray(new String[list.size()]);// String[]数组

System.out.println(Arrays.toString(array1));

System.out.println(Arrays.toString(array2));

}

}

5、通过创建ArrayList集合

1、通过无参构造方法创建ArrayList集合

// 通过【无参构造方法】创建ArrayList集合

// 数组默认被初始化成一个空数组

ArrayList list1 = new ArrayList();

// 添加到11个元素时,容量不足,再次将数组扩容,按照原容量的1.5倍

2、通过有参构造方法创建ArrayList集合

// 通过【有参构造方法】创建ArrayList集合

// 根据预估数据元素的规模数量,初始化elementData数组

// 减少扩容的次数频率

ArrayList list2 = new ArrayList(200);

6、数组的遍历

遍历方法1:冒泡排序

public static void main(String[] args) {

ArrayList list = new ArrayList();

list.addAll(Arrays.asList("E","D","K","M","N","A"));

//方式1:冒泡排序

for(int i = 0;i

for(int k = 0;k

if(list.get(k).compareTo(list.get(k+1))>0) {

String temp = list.get(k);

list.set(k, list.get(k+1));

list.set(k+1, temp);

}

}

}

}

遍历方法2:使用sort()方法

public static void main(String[] args) {

ArrayList list = new ArrayList();

list.addAll(Arrays.asList("E","D","K","M","N","A"));

//方式2:使用sort()方法

list = new ArrayList();

list.addAll(Arrays.asList("E","D","K","M","N","A"));

list.sort(new Comparator() {

@Override

public int compare(String o1, String o2) {

return o1.compareTo(o2);

}

});

System.out.println(list);

}

防狼喷雾哪里卖?全面了解防狼喷雾的知识和购买渠道!
微信拉黑后悔了?两步操作轻松恢复好友关系