Java - 集合 - List
- ArrayList使用:
void test() {
//声明
List<String> testlist = new ArrayList<>(); //添加元素 .add方法
testlist.add("中国"); //将元素添加到集合的末尾
testlist.add(1,"美国"); //将元素添加到指定的索引位置(索引从0开始,且要按顺序添加,否则编译报错)
testlist.add("法国");
testlist.add("日本");
//删除元素 .remove方法
testlist.remove(1);
//修改元素 .set方法
testlist.set(1,"新西兰"); //获取元素 .get方法
System.out.println("索引为1的元素是:" + testlist.get(1));
//获取集合元素个数 .size方法
System.out.println("集合元素个数是:" + testlist.size() );
}遍历元素的3种方法:
//元素遍历的3中方法:使用Iterator遍历、for循环遍历、foreach遍历
System.out.println("使用Iterator遍历:");
Iterator<String> testlistIterator=testlist.iterator();
while (testlistIterator.hasNext()){
System.out.print(testlistIterator.next());
System.out.print(" ");
} System.out.println(""); //仅仅为了换行显示
System.out.println("使用for循环遍历:");
for (int i=0;i<testlist.size();i++){
System.out.print(testlist.get(i) + " ");
} System.out.println("");
System.out.println("使用foreach遍历:");
for (String x:testlist) {
System.out.print( x + " ");
} - LinkedList:LinkedList类的使用方法和ArrayList基本一样,只需修改下声明处的代码即可
List<String> testList = new LinkedList<>();
- Vector:
List<String> platformList = new Vector<>();
2、ArrayList、LinkedList、Vector的区别【面试常问点】
|
List实现类
|
ArrayList
|
LinkedList
|
Vector
|
|
底层实现
|
数组结构
|
双链表 |
数组结构
|
|
优势
|
查找效率高
|
插入删除效率高 |
查找效率高
|
|
线程安全
|
非线程安全
|
非线程安全
|
线程安全
|
|
扩容机制
|
默认增长为原来的1.5倍
|
不需要动态扩容
|
默认增长为原来的2倍
|
- 数组:是相同类型的元素按照一定顺序排列
- 链表:是一种物理存储单元上非连续,非顺序的存储结构
Java - 集合 - List的更多相关文章
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- Scala集合和Java集合对应转换关系
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...
- java集合你了解多少?
用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...
- 深入java集合学习1-集合框架浅析
前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
- Java集合概述
容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...
- 深入java集合系列文章
搞懂java的相关集合实现原理,对技术上有很大的提高,网上有一系列文章对java中的集合做了深入的分析, 先转载记录下 深入Java集合学习系列 Java 集合系列目录(Category) HashM ...
随机推荐
- 【已解决】[求助] 求虚拟机防检测代码-VM虚拟机防游戏检测(虚拟机躲避游戏检测工具)
[已解决][求助] 求虚拟机防检测代码 虚拟机如何躲过游戏等软件的检测,并能用vmware tools: 先把vmtools安装好后! 然后用这代码 monitor_control.restric ...
- LaTeX技巧010:LaTtex中如何给每个句子加序号?
效果图: 代码: \documentclass{article} \newcounter{sentence} \renewcommand\thesentence{\textsuperscript{\a ...
- Latex字体属性
Latex字体有五种属性:编码.族.系列.尺寸.形状:其中,一般用户不会涉及字体的编码属性.用户可以自定义字体属性,定义属性的命令称为声明,声明无参数,直接在文档中使用.1. 族(family)属性: ...
- 微信小程序中如何上传图片
本篇文章给大家带来的内容是关于微信小程序中如何上传图片(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.wxml文件 <text>上传图片</text ...
- PHP函数对比 array_merge()与加号合并数组的区别
首先准备两个数组,从数组索引类型分别讨论. 数组索引为字符串索引时: $a = array('a' => 1, 'b' => 2, 'c' => 3); $b = array('b' ...
- Your name ?
序言 才发觉自己有许多名字 ··································································· 言归正传 今天才发现,自己在不同地方 ...
- 彻底禁用Chrome插件停用开发者模式提示插件version.dll
下载后将dll文件放在和Chrome.exe同目录然后重启浏览器即可. 文件下载地址:https://download.csdn.net/download/ganquanzhong/11987360
- react 渲染
目录 React渲染 createElement的三个参数 element如何生成真实节点 ReactDOMComponent 作用 ReactCompositeComponentWrapper 作用 ...
- 一个vue的日历组件
说明: 1.基于element-ui开发的vue日历组件. 地址 更新: 1.增加value-format指定返回值的格式2.增加头部插槽自定义头部 <ele-calendar > < ...
- Java单体应用 - 架构模式 - 02.MVC架构
原文地址:http://www.work100.net/training/monolithic-architecture-mvc.html 更多教程:光束云 - 免费课程 MVC架构 序号 文内章节 ...