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. css3弹性盒子display:flex

    先看上面的代码,解释一下意思,看你能认识多少(后面有注释): .container { display: flex; //弹性布局 flex-direction: column; //容器内项目的排列 ...

  2. 使用redis防止重复提交

    使用redis防止重复提交   其实主要思路是他的https://blog.csdn.net/u013378306/article/details/52944780 主要目前我的情况是,前后端分离的, ...

  3. MongoDB in Action (MongoDB 实战).pdf

    http://www.open-open.com/doc/view/691d4d2232ce4b30b14c6b218fff4be8

  4. 保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.Media.Imaging.BitmapImage”。

    保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.M ...

  5. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-9.使用JWT生成用户Token回写客户端

    笔记 9.使用JWT生成用户Token回写客户端     简介:讲解用户授权登录后,需要生成登录凭证重定向到页面上 1.获取当前页面访问地址 2.根据User基本信息生成token 3.重定向到指定页 ...

  6. Mybatis 联合查询XML与注解对比

    由于是练习,故只做了感兴趣的一部分测试. 测试类容XML配置转注解方式 实体类为了测试请忽略设计是否合理… User.java @Alias("User")public class ...

  7. Pearson Correlation Score

    [http://www.statisticshowto.com/what-is-the-pearson-correlation-coefficient/] Correlation between se ...

  8. docker 导出多个镜像合并成一个tar

    导出单个镜像 docker save [images] > [name.tar] 倒出多个镜像合并成一个tar包 docker save [images] [images] > [name ...

  9. LeetCode.1189-balloon实例数最大值(Maximum Number of Balloons)

    这是小川的第次更新,第篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第267题(顺位题号是1189).给定一个字符串文本,使用文本字符来构成单词"balloon&qu ...

  10. Data Exfiltration with DNS in MSSQL SQLi attacks

    DNS解析过程 DNS解析过程 DNS 查询的过程如下图1所示. 图1 文字举例说明: 假定浏览器想知道域名xprp8i.dnslog.cn的IP地址. 1.浏览器先向本地DNS服务器进行递归查询. ...