iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java容器类List ArrayList Vector有什么作用
  • 432
分享到

Java容器类List ArrayList Vector有什么作用

2023-06-17 10:06:24 432人浏览 独家记忆
摘要

本篇内容主要讲解“Java容器类List ArrayList Vector有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java容器类List ArrayList Vector有什么作

本篇内容主要讲解“Java容器类List ArrayList Vector有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java容器类List ArrayList Vector有什么作用”吧!

List是接口,声明了各个方法,不多说。且看ArrayList类。

ArrayList类的成员变量有Object[] elementData,int size;其中elementData数组用来存储加入到ArrayList的对象,size为列表中实际的对象数目。ArrayList类不是线程安全的。

Vector与ArrayList的实现基本相同,只是Vector类是线程安全的,其方法都带有synchronized关键字,如果不考虑线程同步的话,ArrayList性能要好一些。当前它们内部实现原理都是用到对象数组来实现,如果元素数目确定,直接用数组效率***。

简单的用法:(后面是数据打印结果)

public class ListDemo {            public static void main(String[] args) {          List<String> list = new ArrayList<String>();          String[] strArr = new String[3];          boolean ret = list.add("haha");          list.add(new String("aa"));          list.add(null);           System.out.println(list.size());//3          System.out.println(ret);//true          System.out.println(list);//[haha, aa, null]          System.out.println(strArr);//[Ljava.lang.String;@1fee6fc          System.out.println(strArr.getClass().getName());//[Ljava.lang.String;          System.out.println(list.indexOf("aa"));//1          System.out.println(list.indexOf(null));//2          String str = list.set(1, "ee");          System.out.println(str);//aa          System.out.println(list);//[haha, ee, null]          String remove = list.remove(0);          System.out.println(remove);//haha          System.out.println(list);//[ee, null]          boolean result = list.remove("ff");          System.out.println(result);//false          result = list.remove("ee");          System.out.println(result);//true          System.out.println(list);//[null]      }   }
public ArrayList() {      this(10);      }   public ArrayList(int initialCapacity) {      super();              if (initialCapacity < 0)                   throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity);      this.elementData = new Object[initialCapacity];      }     public boolean add(E e) {      ensureCapacity(size + 1);  // Increments modCount!!      elementData[size++] = e;      return true;      }       public E remove(int index) {      RangeCheck(index);       modCount++;      E oldValue = (E) elementData[index];       int numMoved = size - index - 1;      if (numMoved > 0)          System.arraycopy(elementData, index+1, elementData, index,                   numMoved);      elementData[--size] = null; // index后面数据依次往前移动,将***一个位置赋值为0,让GC来回收空间。      return oldValue;      }   public void ensureCapacity(int minCapacity) {      modCount++;//这个变量不用管。      int oldCapacity = elementData.length; //初始时设定的数组长度      if (minCapacity > oldCapacity) {    //如果数组对象数目>初始数组长度,则需要扩容。          Object oldData[] = elementData;          int newCapacity = (oldCapacity * 3)/2 + 1; //新的容量大小              if (newCapacity < minCapacity)          newCapacity = minCapacity;                           elementData = Arrays.copyOf(elementData, newCapacity);       }      }        public void trimToSize() {       modCount++;      int oldCapacity = elementData.length;      if (size < oldCapacity) {              elementData = Arrays.copyOf(elementData, size);      }      }     public int indexOf(Object o) {      if (o == null) {          for (int i = 0; i < size; i++)          if (elementData[i]==null)              return i;      } else {          for (int i = 0; i < size; i++)          if (o.equals(elementData[i]))              return i;      }      return -1;      }    public E set(int index, E element) {      RangeCheck(index); //检查范围      E oldValue = (E) elementData[index];      elementData[index] = element;      return oldValue;      }    public E get(int index) {      RangeCheck(index);       return (E) elementData[index];      }    private void RangeCheck(int index) {      if (index >= size)          throw new IndexOutOfBoundsException(          "Index: "+index+", Size: "+size);      }    public int size() {      return size;      }       public boolean isEmpty() {      return size == 0;      }

到此,相信大家对“Java容器类List ArrayList Vector有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java容器类List ArrayList Vector有什么作用

本文链接: https://www.lsjlt.com/news/288539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java容器类List ArrayList Vector有什么作用
    本篇内容主要讲解“Java容器类List ArrayList Vector有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java容器类List ArrayList Vector有什么作...
    99+
    2023-06-17
  • vector容器的作用是什么
    vector容器是C++标准库提供的一种容器,用于存储动态数组。其作用是提供了一个动态数组,可以动态扩展和缩小数组的大小,同时提供了...
    99+
    2024-03-04
    vector
  • Java容器类List和Set使用方法是什么
    这篇文章主要介绍“Java容器类List和Set使用方法是什么”,在日常操作中,相信很多人在Java容器类List和Set使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java容器类List和S...
    99+
    2023-06-03
  • Java中Vector的作用是什么
    本篇文章为大家展示了Java中Vector的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Ar...
    99+
    2023-05-31
    java vector
  • Java ArrayList与LinkedList及HashMap容器怎么使用
    今天小编给大家分享一下Java ArrayList与LinkedList及HashMap容器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所...
    99+
    2023-07-02
  • Java中ArrayList类常用方法和遍历是什么
    Java中ArrayList类的常用方法包括:1. add(E element):向列表末尾添加一个元素。2. add(int in...
    99+
    2023-08-11
    Java ArrayList
  • Java List 接口的作用是什么
    本篇内容主要讲解“Java List 接口的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java List 接口的作用是什么”吧!目录源码展示源码展示package jav...
    99+
    2023-06-20
  • java中list groupby的作用是什么
    在Java中,List的groupBy方法通常是指使用Stream API中的groupBy方法对List中的元素进行分组操作。具体...
    99+
    2024-03-01
    java
  • Java中的BigDecimal类有什么作用
    本篇内容主要讲解“Java中的BigDecimal类有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中的BigDecimal类有什么作用”吧!前言我们都知道浮点型变量在进行计算的...
    99+
    2023-06-16
  • java中抽象类有什么作用
    抽象类在Java中有以下作用:1. 定义共同的属性和方法:抽象类可以包含属性和方法的定义,这些属性和方法可以被其子类继承和重写。抽象...
    99+
    2023-08-11
    java
  • Java构造器有什么作用
    今天小编给大家分享一下Java构造器有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。构造器是编程的强大组件。使用它们...
    99+
    2023-06-16
  • java拦截器有什么作用
    Java拦截器的作用主要有以下几个方面:1. 安全控制:拦截器可以在请求到达目标方法之前对请求进行安全验证,如身份认证、权限验证等,...
    99+
    2023-08-18
    java
  • Java中类有什么用
    这篇文章主要介绍Java中类有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Java中使用继承  面向对象的程序设计中最为强大的功能是类的继承,类的继承允许你在一个已经存在的类之上编写新的程序,例如,你想建立...
    99+
    2023-06-03
  • java bytearrayoutputstream类有什么用
    ByteArrayOutputStream类是Java IO库中的一个类,它继承自OutputStream类,并且提供了一些额外的方...
    99+
    2024-02-29
    java
  • C++基类有什么作用
    本篇内容主要讲解“C++基类有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++基类有什么作用”吧!私有继承:基类中的公有成员在派生类中为私有;C++基类中的保护成员在派生类中为私有;...
    99+
    2023-06-17
  • Java Parser类的作用是什么
    Java Parser类的作用是将源代码转换为抽象语法树(AST),从而可以对源代码进行分析和处理。它可以解析Java源文件,并将其...
    99+
    2023-10-23
    Java
  • java string类的作用是什么
    Java的String类是用于处理字符串的类。它提供了多种方法来操作和处理字符串,包括字符串的连接、截取、替换、比较、搜索等操作。S...
    99+
    2023-09-23
    java
  • java中Class类有什么用
    java中Class类有什么用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、说明Class本身也是一个类。Class对象只能由系统确定。JVM中只有一个Class实例可以加...
    99+
    2023-06-15
  • Java中Unsafe类有什么用
    小编给大家分享一下Java中Unsafe类有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Unsafe类是啥?Java最初被设计为一种安全的受控环境。尽...
    99+
    2023-06-21
  • java的random类有什么用
    Random类是Java中的一个随机数生成器类,它可以用于生成种子为不确定的伪随机数。它有以下几个主要的用途: 生成随机数:通过...
    99+
    2024-02-29
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作