Java List常用操作总结

Java 集合框架继承关系图

 

初始化方法:

方法一:
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("PHP");
languages.add("Python");

方法二:
使用Arrays.asList
List<String> stringList = Arrays.asList("a", "b", "c");

方法三:
List<String> list = Lists.newArrayList("a", "b", "c");

方法四:
快速初始化

List<String> languages = new ArrayList(){
    {
        add("Java");
        add("PHP");
        add("Python");
    }
};

 

1.List常见操作方法

ArrayList,LinkedList,Vector等都实现了List接口,以下方法通用,他们还有自己额外实现的方法

(1)添加

(2)查找

(3)获取下标 i 的元素

(4)删除下标 i 的元素

(5)修改下标 i 的元素

(6)获取list的大小

(7)清空所有元素

(8)获取指定区间内的子序列

(9)转为数组

String[] array=list.toArray(new String[list.size()]);

(10)判断是否为空

(11)返回迭代器Iterator

 

2.ArrayList

(1)构造方法

(2)ArrayList 实际上是通过一个数组去保存数据的。当我们构造ArrayList时;若使用默认构造函数,则ArrayList的默认容量大小是10

(3)浅拷贝,深拷贝

arrayList自带的方法是浅拷贝

Collections.copy(List dest,List src)方法是深拷贝

方法一:

浅拷贝,自带的clone()方法

ArrayList<Integer> mycopy=new ArrayList<Integer>();

mycopy=(ArrayList<Integer>) vec.clone();

方法二:

深拷贝,Collections的copy()方法

ArrayList<Integer> mycopy=new ArrayList<Integer>(Arrays.asList(new Integer[vec.size()]));
Collections.copy(mycopy, vec);

(4)遍历方法

方法一:

for循环

for (int i = 0; i < list.size(); i++) {
	System.out.print(list.get(i) + "  ");
}
		
方法二:

foreach遍历

for (Object object : list) {
	System.out.print(object + "  ");
}
		
方法三:

迭代器遍历

Iterator iterator = list.iterator();
    while(iterator.hasNext()) {
		System.out.print(iterator.next() + "  ");
}

 

 

3.LinkedList

(1)构造方法

(2)LinkedList是一种常用的数据容器,与ArrayList相比,LinkedList的增删操作效率更高,而查改操作效率较低。

(3)遍历方法与arraylist类似

(4)比较特殊的List,实现了Deque接口(double-end-queue),即双端队列,算法需要队列时就用linkedlist,如树的层序遍历,BFS等

声明:
Queue<TreeNode> queue = new LinkedList<>();

 

 

ArrayList与LinkedList区别:

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

 

4.Vector

Vector是线程安全的,ArrayList是非线程安全的。

常见操作与arrayList类似

 

参考链接1

参考链接2

参考链接3

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用Java List集合方法包括以下几种: 1. 将元素插入到集合的首部或尾部:可以使用LinkedList的addFirst()方法将元素插入到集合的首部,使用addLast()方法将元素插入到集合的尾部。注意,如果使用的是List接口的引用,需要进行类型转换为LinkedList才能使用LinkedList特有的方法。\[1\] 2. 通过索引访问列表元素:List接口提供了四种位置(索引)访问列表元素的方法。索引从0开始,即第一个元素的索引为0。这些方法包括get()、set()、add()和remove()。需要注意的是,具体实现类(如LinkedList)的索引值可能会有所不同,所以在不清楚具体实现的情况下,最好通过迭代列表中的元素来访问。\[2\] 3. 添加元素到ArrayListArrayListList接口的一个常用实现类,它采用了数组的存储方式,分配连续的内存空间。可以使用ArrayList的add()方法将元素添加到集合中。ArrayList可以添加任何类型的对象,不同类的实例对象都可以添加进去,但是添加的数据都会被转换成Object类型。\[3\] 这些是Java List集合的一些常用方法,可以根据具体的需求选择适合的方法来操作集合中的元素。 #### 引用[.reference_title] - *1* *3* [JAVA集合——(List类中常用的方法总结)](https://blog.csdn.net/gitets/article/details/109702884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [java_List(集合)_常见方法操作(实例)](https://blog.csdn.net/Lee0620/article/details/120776429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值