List集合的子类ArrayList和LinkedList
一:
我们常用对集合的操作,查询、增删等操作。
由于集合的存储的方式的不同,导致有些集合查询快但是增删慢。有些集合增删快、但是查询慢。
ArrayList:由于ArrayList存储的方式为数组形式。有索引,导致查询速度很快,但是增删的时候,需要创建新的数组,对原先数组进行复制操作导致速度慢。
所以在查询的时候,我们可以使用ArrayList,而LinkedList是链表,由于每个元素存储下个元素的地址和上个元素地址,所以在增加和删除的时候,只是变更数组的地址就可以,增删比较快,但是查询较慢。
所以:
ArrayList:适合查询
LinkedList:适合增删,提供了首尾的插入和删除。
我们看下这2个集合的方法:
package test10;
import java.util.LinkedList;
public class Link_Test {
public static void main(String...args){
link_Me();
}
public static void link_Me(){
LinkedList<String> link_list=new LinkedList<>();
link_list.addFirst("ti");//首添加元素
link_list.addFirst("ti");
link_list.addFirst("ti");
link_list.addFirst("ti");
link_list.push("");
System.out.print(link_list);
link_list.pop();//末尾删除。
System.out.print(link_list);
if(!link_list.isEmpty()){System.out.print();}
link_list.removeFirst();// 首尾删除。
link_list.removeLast();
System.out.print(link_list);
}
}
其余的方法是List和Collection的接口方法。
List集合的子类ArrayList和LinkedList的更多相关文章
- java集合框架05——ArrayList和LinkedList的区别
前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ...
- java集合框架之ArrayList与LinkedList的区别
参考http://how2j.cn/k/collection/collection-arraylist-vs-linkedlist/690.html#nowhere ArrayList和LinkedL ...
- [javaSE] 集合框架(ArrayList,LinkedList,Vector)
ArrayList特点:底层使用数组数据结构,查询速度快(使用脚标查),插入删除慢(索引要改变) LinkedList特点:底层使用链表数据结构,查询慢(需要一个一个去问),插入删除快 Vector特 ...
- Java集合 之List(ArrayList、LinkedList、Vector、Stack)理解(new)
一. ArrayList底层实现原理 对比 和Vector不同,ArrayList中的操作不是线程安全的!所以,建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOn ...
- 27、ArrayList和LinkedList的区别
在Java的List类型集合中,ArrayList和LinkedList大概是最常用到的2个了,细看了一下它们的实现,发现区别还是很大的,这里简单的列一下个人比较关心的区别. 类声明 ArrayLis ...
- JAVA集合一:ArrayList和LinkedList
JAVA集合一:ArrayList和LinkedList 参考链接: HOW2J.CN 前言 这几篇博客重点记录JAVA的几个重要的集合框架:ArrayList.LinkedList.HashMap. ...
- Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识
集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ArrayList: ...
- Java集合之ArrayList和LinkedList的实现原理以及Iterator详解
ArrayList实现可变数组的原理: 当元素超出数组内容,会产生一个新数组,将原来数组的数据复制到新数组中,再将新的元素添加到新数组中. ArrayList:是按照原数组的50%来延长,构造一个初始 ...
- JAVA之旅(十九)——ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习
JAVA之旅(十九)--ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习 关于数据结构,所讲的知识 ...
随机推荐
- Nginx的文件夹的别名设计&drupal简洁url
参考:nginx 官方drupal 配置 - Drupal | NGINX 环境:ubuntu14,Nginx1.12, MariaDB5.5.56,PHP7.1.7 需求:1.不同的网站,不要用文件 ...
- ID3决策树算法实现(Python版)
# -*- coding:utf-8 -*- from numpy import * import numpy as np import pandas as pd from math import l ...
- C# 2个List<T>比较内部项是否相等(全部相等则相等,反之不相等)
static void Main(string[] args) { List<string> a = new List<string>() { "a", & ...
- 镶嵌数据集 Mosaic Dataset 的常见数据组织方式
镶嵌数据集是ESRI公司推出一种用于管理海量影像数据的数据模型,定义在GeoDatabase数据模型中. 它的常见数据组织方式有两种: 1. 源镶嵌数据集 Source Mosaic Dataset ...
- Dynamics 365 Customer Engagement 中对API的调整内容分享
当前版本中弃用了以下客户端 API 以重新组织 Xrm 客户端 API 对象模型,从而更好地满足以下需求:使用同一客户端脚本而不必基于上下文或基于运行这些脚本的客户端(Web 客户端或新的统一接口)来 ...
- Spring Boot—05页面跳转
package com.smartmap.sample.ch1.controller.view; import org.springframework.stereotype.Controller; i ...
- 全功能开发团队(FSD)
- JAVA 分布式 - 分布式介绍
什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统. 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的. 2.这些连通的节点 ...
- Java 8方法引用使用指南
[编者按]本文作者为拥有15年 Java 开发经验的资深程序员 Per-Åke Minborg,主要介绍如何灵活地解析 Java 中的方法引用.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...
- 关于springMVC的一些xml配置
①springMVC必备jar包: commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE. ...