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面试指南>仓库,更多精彩内容请到我的仓库里查 ...
随机推荐
- TypeError:Can't instantiate abstract class Ultraman with abstract methods sttack 报错
报错Can't instantiate abstract class Ultraman with abstract methods sttack 通过非常仔细的排查,发现错误如下: 1.单词拼写错误是 ...
- 用反射、泛型 改造SqlHelper
1. 数据准备 public class BaseModel { public int Id { set; get; } } public class Company : BaseModel { p ...
- 【基础】CodeBlocks调试器基本使用方法
CodeBlocks是一个开放源码的全功能的跨平台C/C++集成开发环境. 下载地址:http://www.codeblocks.org/downloads/26 其中,Windows环境下可以使用 ...
- Jmeter之安装与环境配置
前言 本次的教程是Jmeter的安装与配置 1.安装JDK并配置好环境变量,在系统变量中添加JAVA_HOME变量 在系统变量path中添加 %JAVA_HOME%\bin 2.打开Jmeter官网: ...
- 使用docker19.03.6部署zabbix
可参考官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers 1)启动一个空的mysql服务器实 ...
- bat常用符合和for语句等
一.开头 @echo off(默认是echo on)@echo off执行以后,后面所有的命令均不显示,包括本条命令 二.特殊符号 1. | 命令管道符,echo Y|rd /s c:\abc,通过管 ...
- Nginx安装(yum源)
CentOS7 $ vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/c ...
- kali中安装中文输入法ibus
1.控制台输入命令: apt-get install ibus-pinyin 出现选择都选yes 2.安装完毕后输入命令,重启虚拟机: reboot 3.打开 输入法,如图中2处input meth ...
- Sublime Text3添加到右键菜单,"用 SublimeText3 打开"
在Sublime Text3安装目录下新建一个文件 sublime_addright.inf 文件内容: [Version] Signature="$Windows NT$" [D ...
- 二进制、十六进制理解及int类型二进制存储方式
二进制 0000 0000 0000 0000 0000 0000 0000 0001 // 2^0 0000 0000 0000 0000 0000 0000 0000 0010 // 2^1 00 ...