Java List

常用类型

类型 特征
ArrayList 随机访问元素快;中间插入与删除元素较慢;操作不是线程安全的
LinkedList 中间插入与删除操作代价较低,提供优化的顺序访问;随机访问元素慢

ArrayList 常用 API

方法 描述
boolean add(E object) 再 ArrayList 尾存入对象
void add(int location, E object) 在 location 添加对象
boolean addAll(Collection<? extends E> collection) 将一个 Collection 对象中存储全部的对象复制并存入
boolean addAll(int location, Collection<? extends E> collection) 将一个 Collection 对象中存储全部的对象复制并存入location
boolean contains(Object object) 是否包对象 object
boolean containsAll(Collection<?> collection) 是否包含一个 Collection 对象
boolean isEmpty() ArrayList 是否为空
E get(int location) 获取 location 的对象
E set(int location, E object) 将某个位置的元素替换成 object
int indexOf(Object object) 获取某个对象的位置(顺序遍历第一个)
int lastIndexOf(Object object) 获取某个对象的位置(逆序遍历第一个)
int size() 返回 ArrayList 存储的对象数量
boolean remove(Object object) 删除存储的某个对象
E remove(int lcoation) 删除位于 location 的对象
boolean removeAll(Collection<?> collection) 删除存储的某个 Collection 对象
Object [] toArray() ArrayList 转数组
List<'E'> subList(int start, int end) 获取位于 start 与 end 之间的 List
void clone() 克隆ArrayList
void clear() 移除ArrayList中所有对象
Iterator<'E'> iterator() 获取该 ArrayList 对应的迭代器对象

ArrayList 应用示例

  1. ArrayList与数组之间的转换

        // 转数组
    
        List<String> list = new ArrayList<>();
    String[] strings = new String[list.size()];
    list.toArray(strings); // 或者
    String[] strings = (String[])list.toArray(new String[list.size()]); // 数组转LIst
    // 法1 快速,但是以视图形式返回,无法对数据进行删除及添加操作;
    // 可用 set() 方法修改元素,但是原始List数据会随之改变 String[] s = {"abc", "def", "ghi"};
    List<String> list = java.util.Arrays.asList(s); //法 2 慢,但是新生成一个ArrayList,可对List进行操作不会对原对象产生影响 List<String> assertList = new ArrayList();
    Collections.addAll(assertList, strings);
  2. ArrayList遍历方式

    // 第一种,通过迭代器遍历。即通过Iterator去遍历。
    Integer value = null;
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
    value = (Integer)iter.next();
    } // 第二种,随机访问,通过索引值去遍历。
    Integer value = null;
    int size = list.size();
    for (int i=0; i < size; i++) {
    value = (Integer)list.get(i);
    } // 第三种,for循环遍历。
    Integer value = null;
    for (Integer integer: list) {
    value = integer;
    }

Java ArrayList常用接口介绍及示例的更多相关文章

  1. DBUS及常用接口介绍

    [原文]  1. 概述 1.1  DBUS概述     DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息 ...

  2. [刘阳Java]_Spring常用注解介绍_第6讲

    Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...

  3. C#中常用接口介绍

    1. IComparable接口 IComparable接口定义通用的比较方法.由类型使用的IComparable接口提供了一种比较多个对象的标准方式.如果一个类要实现与其它对象的比较, 则必须实现I ...

  4. java===字符串常用API介绍(转)

    本文转自:http://blog.csdn.net/crazy_kid_hnf/article/details/55102861 字符串基本操作 1.substring(from,end)(含头不含尾 ...

  5. Java +selenium Navigation接口介绍

    Navigation接口主要实现对浏览器的前进.后退.打开网址.刷新当前页面等操作的. void back():就是操作当前页面后退,相当于网页的后退按钮. void forward():就是操作当前 ...

  6. Java ArrayList详细介绍和使用示例

    ①对ArrayList的整体认识 ArrayList是一个数组队列,相当于动态数组.与Java中的数组相比,它的容量能动态增长.它继承了AbstractList,实现了List,RandomAcces ...

  7. Java Annotation认知(包括框架图、详细介绍、示例说明)(转)

    本文转自:http://www.cnblogs.com/skywang12345/p/3344137.html 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annota ...

  8. Java 之 常用函数式接口

    JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供.下面是最简单的几个接口及使用示例. 一.Supplier 接口 java ...

  9. Java中常用的七个阻塞队列介绍第一篇

    Java中常用的七个阻塞队列介绍第一篇 在上一篇我们对Java中的队列分类做了简单的介绍.本文咱们主要来聊聊阻塞队列中的七个常用子类.这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个 ...

随机推荐

  1. 【Linux命令】find命令

    [find命令] 说明:find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查 ...

  2. ps在psd格式图片里面切图流程

    第一. 第二. xx的地方自己重新命名 第三. 第四.

  3. 在TeamCity中执行gtest单元测试

    1. 在Visual Studio 2017中新建一个gtest项目 Sample-Test1.这个项目会自动安装“Microsoft.googletest.v140.windesktop.msvcs ...

  4. 在HbuilderX的Uni-app中引入crypto-js md5

    在 hbuilderX的菜单“视图”中选择“显示终端”,在终端中把当前目录定位到uni-app的根目录,这样才可以把crypto-js库安装在正确的位置,在终端中键入:npm install cryp ...

  5. kubernetes安装dashboard步骤 【h】

    本篇文章参考kubernetes---dashboardv1.8.3版本安装详细步骤及 kubernetes-dashboard(1.8.3)部署与踩坑这两篇文章,详细写了自己部署过程中的操作.遇到的 ...

  6. Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条

    学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver fr ...

  7. Python3 Selenium自动化web测试 ==> 第五节 WebDriver高级应用 -- 使用JavaScript操作页面元素

    学习目的: 中级水平技术提升 在WebDriver脚本代码中执行JS代码,可以解决某些 .click()方法无法生效等问题 正式步骤: Python3代码如下 # -*- coding:utf-8 - ...

  8. 工具 --- Git

    Git介绍 Git是目前世界上最先进的分布式版本控制系统. git 诞生: git诞生之前当时的CVS和SVN这些集中式的版本控制系统不但速度慢,而且必须联网才可以使用.由于代码量越来越多,linus ...

  9. PJzhang:在windows10中实现右键命令行快捷打开

    猫宁!!! (windows10---设置---轻松使用---键盘---开启PrtScn快速截图),或者winodws+shift+s kali linux中右键就可以打开终端命令行. 采用手工修改注 ...

  10. java小技巧:如何分批次导入大量数据

    //List 需要导入的数据int count = 1000;//每批次导入的数目int Lastindex = count;List<List<T>> shareList = ...