List集合也称列表
List整体规则是存储的元素有序且可以重复;因为List集合中的元素都有角标,角标也是从0开始,最大角标是size()-1;所以其元素是有序的且是可以重复的。

List集合的通用操作:

List接口在继承了Collection接口的通用方法的基础上,又提供了自己特有的操作方法。

创建List集合

List list1 = new ArrayList();

添加

add()

添加元素

add(int index,object obj)

给参数角标位置插入参数元素。

addAll(int index, Collection c)

将参数Collection集合中的所有元素插入添加到当前集合的参数一角标位置;

get(int index)

获取参数角标对应的元素

indexOf(Object o)

正向搜索参数元素在list中第一次出现的位置;

int | lastIndexOf(Object o)

反向搜索参数元素在list中最后一次出现的位置;

remove(Object o)

从List集合中删除参数元素

Object | remove(int index)

从List集合中删除参数角标对应的元素

set(int index, Object obj)

将List中的参数一角标的元素用参数二元素替换

subList(int fromIndex, int toIndex)

截取当前list集合中fromIndex角标到toIndex角标之间部分

List集合的遍历方式

1.迭代器方式
2. 角标遍历方式:for循环

  1. orEach循环(增强for循环)遍历
            for(int i : array) {System.out.println(i);}

List集合的常用实现:

一、ArrayList和Vector:
ArrayList和Vector底层的数据结构都是可变长数组数据结构。

所以其是查询(获取元素)效率较高(只要明确元素角标就能直接拿到对应的元素);
其删除和添加元素的效率较低(当添加元素时,添加的元素位置之后的所有元素都要一个一个后移,删除元素的时候,删除的元素位置之后的元素都要一个一个前移)。

区别:
1)ArrayList是线程不安全的,其在操作数据的时候不需要同时处理线程安全问题,所以执行效率高;
Vector是线程安全的,其在操作数据时还要同时处理线程安全问题,所以执行效率较低。
2)Vector基本过时被淘汰了,使用的基本都是ArrayList;ArrayList的线程不安全的问题交由多线程技术去处理。
二、LinkedList:
链表式数据结构:
是通过后面元素去记录其前面元素的地址而构成的一个链表。

LinkedList因为其底层是链表式数据结构,所以其添加和删除操作效率较高(因为添加和删除元素只需要改变元素的指向地址);查询效率较低(因为其检索某个元素都是从头至尾去检索的)。

链表式数据结构收尾元素是最容易操作的,而LinkedList提供的方法更多的也是用于操作首尾元素的。

List集合(列表)相关推荐

  1. 递归函数 集合 列表 元组

    #递归函数 <1>什么是递归函数 通过前面的学习知道一个函数可以调用其他函数. 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数. 一个递归函数必定会有一个基线条 ...

  2. python总结字典集合列表_python 列表,元组,字典,集合,字符串相互转换

    本文主要介绍列表,元组,字典,集合以及和字符串之间的相互转换. 1. 列表与元组的互换 # 将列表转化为元组 li = [1, 2, 3] t = tuple(li) print(t, type(t) ...

  3. java中 先进后出的集合_程序猿的日常——Java中的集合列表

    列表对于日常开发来说实在是太常见了,以至于很多开发者习惯性的用到数组,就来一个ArrayList,根本不做过多的思考.其实列表里面还是有很多玩法的,有时候玩不好,搞出来bug还得定位半天.所以这里就再 ...

  4. 07-函数作用域和集合列表字典元祖

    # 变量作用域 - 变量由作用范围限制 - 分类:按照作用域分类- 全局(global): 在函数外部定义- 局部(local):在函数内部定义 - 变量的作用范围:- 全局变量:在整个全局范围都有效 ...

  5. python集合可以修改吗_修改包含Python3中的集合的集合列表-问答-阿里云开发者社区-阿里云...

    我试图创建一个以元组为元素的列表.每个元组都有4个整数.前两个整数是对2个range进行压缩的结果,而其他2个则是对2个不同的整数进行压缩的结果. 我正在使用此代码创建元组和最终列表,这些列表是从笛卡 ...

  6. 列表逆序排序_【Python自学笔记】集合——列表

    list列表类型是一个与元组tuple类似的有序序列.构造函数是list() 切片 # 切片 fruit = ["Apple", "Hawthorn", &qu ...

  7. JSTL标签循环集合列表

    实体类代码: private List<Picture> picts;public List<Picture> getPicts() {return picts;} 实体对象: ...

  8. ASP内置对象Request的ServerVariables集合列表

    Request.ServerVariables("Url") 返回服务器地址 Request.ServerVariables("Path_Info") 客户端提 ...

  9. python列表、集合、字典、元祖用途_Python-函数作用域和集合列表字典元祖

    #globals 和 locals#globals 和 locals 叫做内建函数 a = 1b= 2 deffun(c,d): e= 111 print("Locals={0}" ...

  10. python字典内存分析_python--序列,字符串,列表,元组,字典,集合内存分析

    一,什么是序列. 序列是一种数据存储方式,用来存储一系列的数据,在内存(堆内存)中,序列是一块用来存放多个值的连续的内存空间,其存储的值为所指向对象的地址.比如说a = [ 10 , 20 , 30 ...

最新文章

  1. Blender+Substance Painter全流程制作真实的机器人学习教程
  2. 宽依赖和窄依赖_Spark术语解释及宽窄依赖执行原理,代码分析
  3. jdk8 List集合 Stream distinct() 去重代码示例
  4. 为pc编译配置安装当前最新的内核
  5. 首次push本地代码到github上出现的问题及解决方案
  6. Docker学习笔记五 在测试中使用Docker
  7. python历史 用量 预测_用python做时间序列预测七:时间序列复杂度量化
  8. jQuery height()、innerHeight()、outerHeight()函数的区别详解
  9. oracle64位 32位plsql,64位oracle 安装32位plsql develop
  10. 提升工作效率的一些工具
  11. 11款企业网络运维监控软件汇总介绍-行云管家
  12. 如何绘制用例图 - How to Draw Use Case Diagram
  13. excel计算机求和函数,多条件求和、多条件计数、多条件查找……多了去了!
  14. 计算机英语这门课上后感1000,英语公开课观后感作文1000字
  15. 人工智能初识,百度AI
  16. redis系列,redis的异步删除我该怎么用?
  17. 解压文件到服务器是什么意思,linux中zip文件解压命令是什么
  18. jenkins部署的时候WARNING: IPv4 forwarding is disabled. Networking will not work.
  19. 全网最精减、安装最简单、无头疼配置的Katago教程,大小才168M,职业水平,散仙订制版
  20. 访问tomcat 服务器出现,Welcome to nginx!

热门文章

  1. python字符串乱码问题
  2. matlab闭式网络潮流计算,大工20秋《电力系统分析》在线作业2满分
  3. VMware Workstation创建虚拟机及安装MySQL数据库
  4. PCB-电源布局及其布线优化
  5. windows redis cmd 命令启动
  6. 基于TF-IDF的简单搜索引擎的实现
  7. What?Poly又双叒叕发新品了?
  8. Ubuntu中etc/profile和~./bashrc的区别
  9. cocos creator2.2.2休闲游戏(单机捕鱼)源码H5+安卓+IOS三端源码
  10. 总结证书CT:证书透明度