Java连载86-List集合详解
一、List集合
1.List集合存储元素的特点:
(1)有序(List集合中存储有下标):存进去是这样的顺序,取出来还是按照这个顺序取出。
(2)可重复
2.深入ListJ集合
ArrayList集合底层是数组,数组是有下标的;所以ArrayList集合有很多自己的特性;ArrayList集合底层默认初始化容量是10,扩大之后的容量是原容量的1.5倍;Vector集合底层默认初始化容量为10,扩大之后的容量是原容量的两倍
3.如何优化ArrayList和Vector
尽量减少扩容操作,因为扩容需要数组拷贝,数组拷贝是很耗内存的,一般推荐在创建集合的时候指定初始化容量
package com.bjpowernode.java_learning; import java.util.*; public class D86_1_ListCollectionAnalysis { public static void main(String[] args) { //创建一个List集合 //Collection c = new ArrayList();//这样初始化一个列表编译没问题,但是我们就不用能用List特有的方法了 List l = new ArrayList(); //List l = new LinkedList();//这两种初始化方式哪种都可以,这就涉及到底层的数据结构问题了,可参见《算法》一书 //向列表的尾部添加元素 l.add(100); l.add(99); l.add(23); l.add(250); l.add("hiosaf"); //add(int index,E e)向指定位置插入e l.add(5,"jioasf"); System.out.println(l.get(1)); System.out.println("===================="); //遍历 Iterator it = l.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //这也看出来,既可以使用迭代器来遍历,也可以使用get方法进行遍历 } }
二、源码:
D86_1_ListCollectionAnalysis.java
https://github.com/ruigege66/Java/blob/master/D86_1_ListCollectionAnalysis.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Java连载86-List集合详解的更多相关文章
- Java连载39-构造方法详解
一. 1.多行注释:CTRL + shift + / 2.当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器. public class D39 ...
- Java 集合详解
一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...
- Java集合详解8:Java的集合类细节精讲
Java集合详解8:Java集合类细节精讲 今天我们来探索一下Java集合类中的一些技术细节.主要是对一些比较容易被遗漏和误解的知识点做一些讲解和补充.可能不全面,还请谅解. 本文参考:http:// ...
- Java集合详解6:TreeMap和红黑树
Java集合详解6:TreeMap和红黑树 初识TreeMap 之前的文章讲解了两种Map,分别是HashMap与LinkedHashMap,它们保证了以O(1)的时间复杂度进行增.删.改.查,从存储 ...
- 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集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合详解6:这次,从头到尾带你解读Java中的红黑树
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
随机推荐
- selenium 环境配置
一.确认系统中已安装python版本,如果没有,请参考[这里] 二.打开系统命令页面 [window + R].输入cmd回车 三.cmd环境下,用[pip install selenium ]命令安 ...
- java10幸运抽奖
public class jh_01_知识点回顾 { public static void main(String[] args) { int a = 10; // 变量.标签. // 重新给a赋值. ...
- vue文件引入全局样式导致样式重复
通常项目中src下的子目录都会有一个style文件夹,专门用来存放全局的样式文件. 这个style文件夹下,一般有reset.css.var.scss.mixin.scss.class.scss.in ...
- shellcode 反汇编,模拟运行以及调试方法
onlinedisassembler https://onlinedisassembler.com 在线反汇编工具,类似于lda.功能比较单一. Any.run 等平台在线分析 将shellcode保 ...
- 《Head first设计模式》之策略模式
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 假设有一个模拟鸭子的游戏,游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫.这个游戏的内部设计了一个 ...
- pytorch ---神经网络语言模型 NNLM 《A Neural Probabilistic Language Model》
论文地址:http://www.iro.umontreal.ca/~vincentp/Publications/lm_jmlr.pdf 论文给出了NNLM的框架图: 针对论文,实现代码如下: # -* ...
- SSM/SSH框架的MySQL 读写分离实现的一种简单方法
简介 MySQL已经是使用最为广泛的一种数据库,往往实际使用过程中,为实现高可用及高性能,项目会采用主丛复制的方式实现读写分离.MySQL本身支持复制,通过简单的配置即可实现一主多从的配置,具体实现可 ...
- [Redis-CentOS7]Redis字符串操作(二)
登录Redis # redis-cli 127.0.0.1:6379> 添加字符串 EX 超期时间60s 127.0.0.1:6379> set username 'leoshi' OK ...
- React中setState注意事项
setState是一个异步函数,异步获取数据 学习react在使用ref和setState操作DOM时会遇到的问题: ref获取ul结点元素 错误写法:得到的ul长度总是上一次输入后的长度 结果: 正 ...
- package.json(node)中,多个命令行合并一条
1. ‘&’ 并行执行顺序,同时执行 "dev":"node test.js & webpack" 2.'&&'继发顺序,执行前 ...