【DataStructure】Descriptioin and usage of List

2024-03-02 20:32

本文主要是介绍【DataStructure】Descriptioin and usage of List,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Statements: This blog was written by me, but most of content  is quoted from book【Data Structure with Java Hubbard】 

【Description】

Alistis a collection of elements that are accessible sequentially: the first element, followed by the second element, followed by the third element, and so on. This is called sequential accessor linked access(as opposed to direct or indexed access)

【Interface】

From the JCF inheritance hierarchy , you can see that the Queue, Deque, and Setinterfaces all extend the Listinterface. Consequently, all of the List,Queue, Deque, and Setclasses implement the Listinterface. This includes the concrete classes: ArrayList, Vector, LinkedList, PriorityQueue, ArrayDeque,EnumSet,HashSet,LinkedHashSet,and TreeSet.the JCF provides both linked and indexed implementations of the Listinterface: the LinkedList class uses sequential access, while the ArrayListclass provides direct access.

【Demo】

This demo is related to subList.
package com.albertshao.ds.list;
//  Data Structures with Java, Second Edition
//  by John R. Hubbard
//  Copyright 2007 by McGraw-Hillimport java.util.*;public class TestSubList {public static void main(String[] args) {List<String> list = new ArrayList<String>();Collections.addAll(list, "A","B","C","D","E","F","G","H","I","J");System.out.println(list);System.out.println("list.subList(3,8): " + list.subList(3,8));System.out.println("list.subList(3,8).get(2): "+ list.subList(3,8).get(2));System.out.println("list.subList(3,8).set(2,\"B\"):");list.subList(3,8).set(2, "B");System.out.println(list);System.out.println("list.indexOf(\"B\"): " + list.indexOf("B"));System.out.println("list.subList(3,8).indexOf(\"B\"): "+ list.subList(3,8).indexOf("B"));System.out.println(list);System.out.println("Collections.reverse(list.subList(3,8)):");Collections.reverse(list.subList(3,8));System.out.println(list);System.out.println("Collections.rotate(list.subList(3,8), 2):");Collections.rotate(list.subList(3,8), 2);System.out.println(list);System.out.println("Collections.fill(list.subList(3,8), \"X\"):");Collections.fill(list.subList(3,8), "X");System.out.println(list);list.subList(3,8).clear();System.out.println(list);}
}
【Result】
[A, B, C, D, E, F, G, H, I, J]
list.subList(3,8): [D, E, F, G, H]
list.subList(3,8).get(2): F
list.subList(3,8).set(2,"B"):
[A, B, C, D, E, B, G, H, I, J]
list.indexOf("B"): 1
list.subList(3,8).indexOf("B"): 2
[A, B, C, D, E, B, G, H, I, J]
Collections.reverse(list.subList(3,8)):
[A, B, C, H, G, B, E, D, I, J]
Collections.rotate(list.subList(3,8), 2):
[A, B, C, E, D, H, G, B, I, J]
Collections.fill(list.subList(3,8), "X"):
[A, B, C, X, X, X, X, X, I, J]
[A, B, C, I, J]


这篇关于【DataStructure】Descriptioin and usage of List的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767333

相关文章

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

java streamfilter list 过滤的实现

《javastreamfilterlist过滤的实现》JavaStreamAPI中的filter方法是过滤List集合中元素的一个强大工具,可以轻松地根据自定义条件筛选出符合要求的元素,本文就来... 目录1. 创建一个示例List2. 使用Stream的filter方法进行过滤3. 自定义过滤条件1. 定

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否