List接口及其实现类ArrayList、LinkedList、Vector

13 篇文章 0 订阅

List接口:

java中数组用来存储数据的局限性

List集合中元素有序、可重复,集合中的每个元素都有其对应的顺序索引。

list容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。

JDK API中list接口的实现类常用的有:arraylist、linkedlist和Vector。

List集合里添加了一些根据索引来操作集合元素的方法

ArrayList:

ArrayList是List接口的典型实现类

本质上,ArrayList是对象引用的一个变长数组

ArrayList是线程不安全的,而Vector是线程安全的,即使为保证List集合线程安全,也不推荐使用Vector

Arrays.asList()方法返回的List集合既不是ArrayList实例,也不是vector实例,而是一个固定长度的List集合

package com.xatu.集合;


import java.util.ArrayList;
import java.util.List;

import org.junit.Test;
class Student{
	String name;
	int age;
}
public class LIstTest {
		@Test
		public void testArrayList() {
		List	l = new ArrayList<>();
		l.add(new Integer(100));
		System.out.println("添加200结果1"+l.add(200));
		System.out.println("添加200结果2"+l.add(200));
		System.out.println("添加一个对象"+l.add(new Student()));
		l.add("aaa");
		l.add("aaa");
		l.add(0,new Student());
		l.set(1, 2000);//替换
		System.out.println("大小"+l.size());
		System.out.println(l.indexOf("aaa"));//5
		System.out.println(l.indexOf("aaa"));//5
		    List sl = l.subList(3, 6);
		    System.out.println("sl"+sl);//
		    
		    for (Object object : l) {
				System.out.println(object);
			}
		    System.out.println("-------------");
		    //正常循环打印
		    for (int i = 0; i < l.size(); i++) {
				System.out.println(l.get(i));
			}
		
		}
}

LinkedList:

对于频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高

Vector:

大多作用与ArrayList相同,区别Vector线程安全。

在各种list中,最好把ArrayList作为缺省选择。当插入、删除频繁时,使用LinkedList,vector总是比ArrayList慢所以尽量避免使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值