JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList

一List接口概述

List接口是Collection接口的子接口,实现List接口的集合类中的元素是有顺序的,而且可以重复,被称为序列。

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

素。List接口可以精确的控制每个元素的插入位置,或者删除某个位置元素。

Java所提供的List集合实现类类有ArrayList实现类、LinkedList实现类、Vector等,我们主要使用的是ArrayList实

现类和LinkedList实现类。

List接口中定义以及从Collection接口继承的方法:

二ArrayList实现类

ArrayList实现类是数组序列,是List接口的一个重要实现类(使用频率最高的),该实现类底层是由数组实现的。

ArrayList实现类是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。

ArrayList实现类中的方法:

实例代码:

<span style="font-size:18px;"><span style="font-size:18px;">import java.util.*;

public class Demo{
	public static void main(String[] args){
		List l1 = new ArrayList();
		for(int i=0;i<=5;i++){
			l1.add("a"+i);
		}
		System.out.println(l1);
		l1.add(3,"a100");
		System.out.println(l1);
		l1.add(6,"a200");
		System.out.println(l1);
		System.out.println((String)l1.get(2)+"");
		System.out.println(l1.indexOf("a3"));
		l1.remove(1);
		System.out.println(l1);
	}
}</span></span>

运行结果:

三LinkedList实现类

LinkedList实现类是List接口的一个重要的实现类,LinkedList实现类是一个双向链表。它也可以被当作堆栈、队

列或双端队列进行操作。LinkedList实现类随机访问效率低,但随机插入、随机删除效率低。

LinkedList实现类的方法:

由于实例和上面一样就不在赘述。

四List接口常用算法

类java.util.Collection提供了一些静态方法实现了基于List集合的一些常用算法:

实例代码:

<span style="font-size:18px;"><span style="font-size:18px;">import java.util.*;

public class Test{
	public static void main(String[] args){
		List l1 = new ArrayList();
		for(int i=0;i<=9;i++){
			l1.add("a"+i);
		}
		System.out.println(l1);
		Collections.shuffle(l1);//随机排列
		System.out.println(l1);
		Collections.reverse(l1);//逆序排列
		System.out.println(l1);
		Collections.sort(l1);//排序
		System.out.println(l1);
		System.out.println(Collections.binarySearch(l1,"a5"));
	}
}
</span></span>

运行结果:

时间: 2024-10-07 13:15:05

JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList的相关文章

JavaSE入门学习37:Java集合框架之Map接口及其实现类HashMap和TreeMap

一Map接口 Map接口中的每个成员方法由一个关键字(key)和一个值(value)构成.Map接口不直接继承于Collection接口,因 为它包装的是一组成对的"键-值"对象的集合,而且在Map接口的集合中也不能有重复的key出现,因为每个键只能与 一个成员元素相对应. Map接口定义了存储"键(key)--值(value)映射对"的方法.实现Map接口的类用来存储键值对.Map接口中包含 了一个keySet()方法,用于返回Map中所有key组成的Set集合.

I学霸官方免费教程三十五:Java集合框架之Collection接口和Collections类

Collection接口 Collection接口是List和Set接口的父接口,其中主要定义了一些集合基本操作的方法,包括与Iterator之间的关系List  extends  CollectionArrayList  implements  ListLinkedList  implements  ListVector  implements  ListSet  extends  CollectionHashSet  implements  SetSortedSet  extends  Se

JavaSE入门学习36:Java集合框架之Set接口及其实现类HashSet和TreeSet

一Set接口 Set接口可以与数学中的集合的概念相对应.Set接口是Collection接口的子接口,Set接口里多个对象之间没有明 显的顺序.具体详细方法请参考API文档(可见身边随时带上API文档有多重要),基本与Collection接口中定义的方法相 同.只是行为不同(Set不允许包含重复元素). Set集合不允许重复元素,是因为Set判断两个对象相同不是使用==运算符,而是根据equals()方法.即两个对象 用equals()方法比较返回true,Set就不能接受两个相等的对象. 我们

Java集合框架之List接口

在上一篇Java集合框架之Collection接口中我们知道List接口是Collection接口的子接口,List接口对Collection进行了简单的扩充,List接口中的元素的特点为有序,可重复,允许null值,因为List继承了Collection接口,所以继承自Collection接口中的方法不再赘述,从List接口中的方法来看,List接口主要是增加了面向位置的操作,允许在指定位置上对集合中的元素进行操作,同时增加了一个能够双向遍历线性表的新列表迭代器ListIterator.下面介

Java集合框架总结(3)——TreeSet类的排序问题

Java集合框架总结(3)--TreeSet类的排序问题 TreeSet支持两种排序方法:自然排序和定制排序.TreeSet默认采用自然排序. 1.自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然排序.(比较的前提:两个对象的类型相同). java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现该接口的类必须实现该

Java集合框架中List接口的简单使用

Java集合框架可以简单的理解为一种放置对象的容器,和数学中的集合概念类似,Java中的集合可以存放一系列对象的引用,也可以看做是数组的提升,Java集合类是一种工具类,只有相同类型的对象引用才可以放到同一个集合中,否则是不能放进去的: 集合可以对元素进行简单快速的查找.插入.删除操作 某些集合可以有<key value>映射的关系 数组的长度是固定的,而集合的长度是跟随元素的个数动态变化的,灵活性和扩展性都比数组更加优越 数组只能存放基本类型的数据,而集合存放的是对象引用类型的 数组只能通过

Java集合框架中Map接口的使用

在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不是线性的存放对象的引用,Map接口提供了一种映射关系,所有的元素都是以键值对(Entry类型对象实例)的方式存储的,所以能够根据key快速查找value,key是映射关系的索引,value是key所指向的对象,注意,这里的value不是一个数值,而是一个对象的引用,Java集合框架的元素均是指对象!

java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制.移动.代价比较高.因此,它

Java集合框架上机练习题:编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法.....

编写一个Book类,该类至少有name和price两个属性.该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系.在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等. package javajihe; public class Book implements Comparable{ String name; float price; B