ArrayList集合详解
ArrayList 实现了List的接口,是长度可变的数组,空间是连续的
api默认提供了很多操作ArrayLis的方法,这些方法可以去api里面查询使用
一、这么多方法怎么学?
1.熟练使用常见的方法
2.了解大概还有哪些方法
3.需要用的时候,就查api文档
二、常见的集合有
ArrayList LinkedList ( vector ) HashSet () HashMap (HashTable)
三、arraylist常见方法
(1)size()元素个数
(2)add() 向数组中添加元素
(3)Object : get() 获取集合中指定位置的元素
四、其中LinkedList : 用法跟ArrayList是一样的
1.LinkedList和ArrayLis相同点
(1).都实现了list接口
(2).常用方法基本一样
2.不同点:
(1).底层结构不一样
ArrayList是空间是连续的,LinkedList空间是不连续的,用的是链表。
什么时候用LinkedList?,什么时候用ArrayList?
查询和修改次数相对比较多的是用ArrayList。
删除和新增比较多的时候用LinkedList。
五、ArrayList;查询和修改效率高,删除和新增效率低
原因:查询和修改效率高得原因空间连续的,删除和新增效率低因为涉及到了元素的移动(多了个元素移动的时间)
LinkedList;查询和修改效率低,删除和新增效率高
原因:查询和修改效率低的原因(多了个寻址时间)
计算机中要么空间换时间,要么时间换空间,不可能两全其美。
ArrayList:
add(0,Object); 在集合的第0个位置插入
add() 在集合的最后一个位置插入
get(0) 获取第1个元素
get(list.size()-1) 获取最后一个个元素
LinkedList:
addFirst() 在集合的第0个位置插入
addFirst() 在集合的最后一个位置插入
getFirst() 获取第1个元素
getLast() 获取最后一个个元素
List是干啥的?
临时存储数据,操作数据(冒充数据库的)
ArrayList集合详解的更多相关文章
- Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
本文非常详尽地介绍了Java中的三个集合类 ArrayList,Vector与Stack <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整 ...
- Java 集合详解
一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...
- Java集合详解8:Java的集合类细节精讲
Java集合详解8:Java集合类细节精讲 今天我们来探索一下Java集合类中的一些技术细节.主要是对一些比较容易被遗漏和误解的知识点做一些讲解和补充.可能不全面,还请谅解. 本文参考:http:// ...
- Java集合详解3:Iterator,fail-fast机制与比较器
Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https:/ ...
- 【转载】Java 集合详解
转载:https://www.cnblogs.com/ysocean/p/6555373.html 一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段 ...
- Java集合详解8:Java集合类细节精讲,细节决定成败
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合详解2:一文读懂Queue和LinkedList
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- 集合详解之 Map
集合详解之 Map + 面试题 集合有两个大接口:Collection 和 Map,本文重点来讲解集合中另一个常用的集合类型 Map. 以下是 Map 的继承关系图: Map 简介 Map 常用的实现 ...
随机推荐
- learning express step(五)
learning express middleware var express = require('express'); var app = express(); var myLogger = ...
- 线段树QWQ
一直没碰过线段树,个人认为好长好难,不过这几天做题遇到了裸的线段树的题,TAT. 线段树我理解就是把二叉树的左右节点现在分别看成是两个区间. 那么现在这两个区间的端点怎么存放?怎么能够把这个区间里的数 ...
- [2]windows内核情景分析--系统调用
Windows的地址空间分用户模式与内核模式,低2GB的部分叫用户模式,高2G的部分叫内核模式,位于用户空间的代码不能访问内核空间,位于内核空间的代码却可以访问用户空间 一个线程的运行状态分内核态与用 ...
- skb head/data/tail/end/介绍
2017年04月26日 18:21:12 abcLinux 阅读数 799 This first diagram illustrates the layoutof the SKB data are ...
- JavaWeb_(Mybatis框架)动态sql_七
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...
- 一台服务器配置多个mysql实例
在公司资源紧张的情况下,需要在一台服务器上部署多个数据库实例,现在就来实战一下该情况. 需要启动两个不同的端口,分别是3306和3307 [root@node1 ~]# mkdir /u01/mysq ...
- CF1208C
CF1208C 这场杜老师大战tourist的比赛怎么这么多人类智慧题... 题意: 构造一个 $ n \times n $ 的矩阵,使得该矩阵每一行与每一列的元素的异或和全部相等. 解法: 异或的神 ...
- 计算机中buffer和cache的理解
Linux中Buffer和Cache的区别 Cache 和 Buffer的区别 作者:知乎用户链接:https://www.zhihu.com/question/26190832/answer/323 ...
- 经典算法:n个人围成一圈,报m的离开,最后剩下谁?
public int remainPersonNumber(int n, int m) { //输入不合法 if(n < 1 || m < 1) return -1; //初始化,存入Li ...
- [Java] JRE、JDK和JVM的区别
在Java语言的学习过程中,配置环境时首先会接触到JRE和JDK的概念,后面随着了解的深入,不可避免会学习到JVM. JRE,全称Java Runtime Environment,也被写成Java R ...