JAVA中List的三个子类。

JAVA中List的三个子类分别是:ArrayList,Vector,LinkList。下面就来比较一下他们的不同。

ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高。

Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率高。

LinkList:底层数据是链表,查询慢,增删快,线程不安全,效率高。

关于何时使用这几类:

一般情况下,不使用Vector。查询多,使用ArrayList。增删多,使用LinkList。都多用ArrayList。

时间: 2024-10-12 20:57:12

JAVA中List的三个子类。的相关文章

java中 this 的三种用法

Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 (3)this调用构造方法只能在本构造方法中调用另一个构造方法(4)this 调用构造方法必须写在第一行 eg: 1 public class ThisDemo { 2 private int id; 3 private String name; 4 public ThisDemo(){ //(1)

JAVA中的String三兄弟

在编写Java程序时,我们经常需要对某些字符串进行拼接,之前我们经常用"+"来拼接,但在Java中如果我们直接使用这种拼接方法,会建立很多String型的对象,这样一来,系统就会因为过多的String型对象而对服务器对象和系统性能造成很大的影响.所以,Java中有一种更好的拼接字符串的方法:使用StringBuffer或StringBuilder. 一.String和StringBuffer ◎ String :是不可变类,任何对String的改变都会产生新的String对象. 当我们

Java中对象的三种状态

Java中的对象的三种状态是和垃圾回收紧密相关的,因此有必要深究. 状态一:可触及态:从根节点开始,可以搜索到这个对象,也就是可以访问到这个对象,也有人将其称为可达状态. 状态二:可复活态:从根节点开始,无论如何都不能访问到这个对象,也就是说这个对象的所有引用都被释放,没有任何变量引用该对象了, 但是该对象有可能在finalize()方法中再次被引用,从而复活. 状态三:不可触及态:对象的所有引用都被释放了,并且在对象的finalize()方法中没有复活,这样的话该对象就是不可触及状态. 对于状

java中数组的三种排序算法

Java中的数组主要有三种排序算法,分别是冒泡排序算法.选择排序算法和插入排序算法. 冒泡排序算法 从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置. 选择排序算法 插入排序算法 "我想你只是输在心软,不够卑鄙." 原文地址:https://www.cnblogs.com/yanggb/p/12105421.html

Java中Map的三种遍历方法

Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看代码了,啰嗦再多也没用) 一般人我不告诉他哦. import java.util.*; //0 我的Main界面 public class MapTraverse { public static void main(String[] args) { String[] str = {"I love you

java 15-10 List的三个子类的特点

List:(面试题List的子类特点) ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. Vector: 底层数据结构是数组,查询快,增删慢. 线程安全,效率低. LinkedList: 底层数据结构是链表,查询慢,增删快. 线程不安全,效率高. List有三个儿子,我们到底使用谁呢? 看需求(情况). 要安全吗? 要:Vector(即使要安全,也不用这个了,后面有替代的) 不要:ArrayList或者LinkedList 查询多:ArrayList 增删多:Li

JAVA中的多线程(三)

多线程的运行出现了安全问题 原因: 当多条语句在操作同一个线程数据的时候,一个线程对多条语句只执行了一部分,还没执行完 另一个线程参与进来执行,导致共享数据的错误 解决办法: 对多条操作共享数据的语句,只能让一个线程都执行完.在执行过程中,其它线程不可以参与执行. JAVA对于多线程安全问题,提供了专业的解决方式 就是同步代码块 synchronized(对象) { 需要被同步的代码 } 1 class Ticket implements Runnable//extends Thread 2 {

JAVA中this的三种用法的详解

this关键字必须放在非静态方法里面 this关键字代表自身,在程序中主要的使用用途有以下几个方面: ? 使用this关键字引用成员变量 ? 使用this关键字在自身构造方法内部引用其它构造方法 ? 使用this关键字代表自身类的对象 ? 使用this关键字引用成员方法 8.8.1.1 引用成员变量 在一个类的方法或构造方法内部,可以使用"this.成员变量名"这样的格式来引用成员变量名,有些时候可以省略,有些时候不能省略.首先看一下下面的代码: /** * 使用this引用成员变量

Java中的多线程技术全面详解

本文主要从整体上介绍Java中的多线程技术,对于一些重要的基础概念会进行相对详细的介绍,若有叙述不清晰或是不正确的地方,希望大家指出,谢谢大家:) 为什么使用多线程 并发与并行 我们知道,在单核机器上,"多进程"并不是真正的多个进程在同时执行,而是通过CPU时间分片,操作系统快速在进程间切换而模拟出来的多进程.我们通常把这种情况成为并发,也就是多个进程的运行行为是"一并发生"的,但不是同时执行的,因为CPU核数的限制(PC和通用寄存器只有一套,严格来说在同一时刻只能