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. GitHub代码下载和同步

    1.下载git客户端https://git-scm.com/ssh-keygen -C "your@email.address" -t rsa 2. 把下面文件的内容复制到 htt ...

  2. rally测试opentack------安装部署和简单实践

    1,下载 git clone git://git.openstack.org/openstack/rally 或者 git clone https://git.openstack.org/openst ...

  3. HTML DOM firstChild lastChild nextSibling previousSibling 属性_获取属性值的undefined问题

    <html> <head> <title>HTML示例</title> <style type="text/css"> ...

  4. 如何写resultful接口

    一.协议 API与客户端用户的通信协议,总是使用HTTPS协议,以确保交互数据的传输安全. 二.域名 应该尽量将API部署在专用域名之下: https://api.example.com 如果确定AP ...

  5. Hadoop集群参数和常用端口

    一.Hadoop集群参数配置 在hadoop集群中,需要配置的文件主要包括四个,分别是core-site.xml.hdfs-site.xml.mapred-site.xml和yarn-site.xml ...

  6. Elasticsearch全文检索引擎。什么是elasticsearch? 有什么特点? 怎么使用?

    什么是ElasticSearch? Elasticsearch是一个基于Lucene的搜索引擎.它提供了具有HTTPWeb界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎.Elasticse ...

  7. linux学习命令收集

    多看看大神的博客  https://blog.csdn.net/tao934798774/article/details/79491951 ip addr   查看ip地址 ifconfig  查看i ...

  8. redis 发布订阅、geo、bitmap、hyperloglog

    1.发布订阅 简介 发布订阅类似于广播功能.redis发布订阅包括 发布者.订阅者.Channel 命令 命令 作用 时间复杂度 subscribe channel 订阅一个频道 O(n) unsub ...

  9. # Python 3 & 爬虫一些记录

    目录 Python 3 & 爬虫一些记录 交互模式和命令行模式 函数积累 语法积累 列表和元组 输入 交互模式下输入多行 爬虫 HTTP报文请求头User-Agent信息 解析库pyquery ...

  10. 学习 Laravel - Web 开发实战入门笔记(1)

    本笔记根据 LearnKu 教程边学边记而成.该教程以搭建出一个类似微博的Web 应用为最终成果,在过程中学习 Laravel 的相关知识. 准备开发环境 原教程使用官方推荐的 Homestead 开 ...