Java第十六天,list接口
List接口
1.三大特点:
① 有序。② 有索引。 ③ 允许存在重复元素。
注意:
① 利用list接口的索引执行操作时,要防止索引越界引起的程序错误。
2.基本使用:
针对List接口有索引的特点,实现List接口的所有集合都拥有如下四个常用的特有方法。
(1)public void add(int position,E e)
(2)public E get(int position)
(3)public E remove(int position)
(4)public E set(int position,E e)
代码:
package com.lanyue.day15;
import java.util.ArrayList;
import java.util.List;
public class ListLearn {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add(0,"a");
list.add(1,"b");
list.add(1,"A");
System.out.println(list);
System.out.println(list.get(1));
list.remove(1);
System.out.println(list);
list.set(1,"A");
System.out.println(list);
}
}
程序运行图:

ArrayList集合
ArrayList集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
1.Arraylist特有特点。
① 此操作不是同步的(是多线程操作)。
② Arraylist底层是用数组实现的,所以查询快,增删慢。
LinkedList集合
LinkedList集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
1.LinkedList特有特点。
① 所有操作都是按照双重链接列表的需要执行的。在列表中编索引的操作将从开头或结尾遍历列表(从靠近指定索引的一端,是多线程操作)。
② 底层是用链表实现的,所以查询慢,增删快。
③ 里面大量使用了操作首尾元素的方法。
Vector集合
Vector集合是所有单列集合的超类。Vector集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
① 底层是用数组实现的,所以查询快,增删慢。
② Vector集合是单线程操作,所以速度相对与ArrayList集合更慢。
③ 版本较早,不建议使用。
Java第十六天,list接口的更多相关文章
- Java第二十六天,多线程等待换新机制(严格执行化)
代码: 1.老板类: package com.lanyue.day26; public class bossRunnable implements Runnable { public myLock l ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- “全栈2019”Java第八十八章:接口中嵌套接口的应用场景
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- javaSE第十六天
第十六天 140 1:List的子类(掌握) 140 (1)List的子类特点 140 (2)ArrayList 141 A:没有特有功能需要学习 141 B:案例 ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- javaSE第二十六天
第二十六天 414 1:网络编程(理解) 414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享 414 (2)网络编程模型 414 (3)网络编程的三要素 ...
- 第三百五十六天 how can I 坚持
一年了,三百五十六天.写个算法算下对不对. 今天突然想买辆自行车了.云马智行车,还是捷安特,好想买一辆. 网好卡.貌似少记了一天呢,357了.好快. 睡觉了,还没锻炼呢,太晚了. 1458748800 ...
- “全栈2019”Java第九十九章:局部内部类与继承详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- java重构、js与接口的实现
一.接口 接口的方法不一定必须实现的!!! 加入default,这样的方法可以不实现,如图所示 二.关于语言的特性 1.C++多继承 2.很多编程语言JavaScript.Python支持混入(Mix ...
随机推荐
- vue管理平台的动态路由(后台传递路由,前端拿到并生成侧边栏)
前端的路由从后台获取,包括权限: 大体步骤包括:路由拦截(钩子函数)---->后台获取路由数据 ----> 保存到本地或vuex中. 在router-->index.js中: rou ...
- 7.vue前台配置、插件、组件
目录 luffy前台配置 axios前后台交互 cookies操作 element-ui页面组件框架 bootstrap页面组件框架 luffy前台配置 axios前后台交互 安装:前端项目目录下的终 ...
- 按 ctrl 时会触发 shift ,导致不能正常使用 ctrl + c 复制
问题描述 不能使用 ctrl 功能键组合,原因是按 ctrl 时 shift 也会被触发. win 10 电脑为例,可以打开虚拟键盘查看按键情况. 当我按下 ctr时 可见 shift 也被触发了. ...
- AspNetCore3.1_Secutiry源码解析_3_Authentication_Cookies
系列文章目录 AspNetCore3.1_Secutiry源码解析_1_目录 AspNetCore3.1_Secutiry源码解析_2_Authentication_核心流程 AspNetCore3. ...
- STM32时钟配置方法
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率 ...
- C#基础--迭代器初识
foreach语句是枚举器(enumerator)的消费者,而迭代器(iterator)是枚举器的产生者. 迭代器模式能提供一种顺序访问一个集合内部的元素,而又不会暴露其内部的方法.当然其缺点就是用f ...
- pycharm+keras+yolo3的使用和自选模型的训练中遇到的坑
1.TensorFlow版本的问题 报错:RuntimeError: `get_session` is not available when using TensorFlow 2.0. 解决办法:这个 ...
- [BJDCTF 2nd]fake google
[BJDCTF 2nd]fake google 进入页面: 试了几下发现输入xxx,一般会按的格式显示, P3's girlfirend is : xxxxx 然后猜测会不会执行代码,发现可以执行 & ...
- Python+Selenium+Unittest编写超链接点击测试用例
测试功能:博客园首页网站分类的一级菜单链接和二级菜单链接的点击. 遇到的问题: 1.循环点击二级菜单时,点击了一个一级菜单下的第一个二级菜单后,页面会刷新,再定位同一个一级菜单次下的第二个二级菜单时, ...
- Spring04——Spring MVC 全解析
前文分别介绍了 Spring IOC 与 Spring AOP 的相关知识,本文将为各位大概带来 Spring MVC 的知识点.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 J ...