• Java ArrayList常用接口介绍及示例


    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;
      }
      
  • 相关阅读:
    在Visual Studio中使用正则表达式匹配换行和批量替换
    Microsoft Visual Studio Ultimate 2013 Update 2 RC 英文版--离线完整安装ISO+简体中文语言包
    TFS 2012 在IE11和Chrome (Windows 8.1) 显示英文的解决方案
    Windows 8 应用商店无法连接到网络的终极完美解决方案
    Visual Studio 2012 Update 4 RC 启动调试失败解决方案
    2013最新版Subversion 1.7.10 for Windows x86 + Apache 2.4.4 x64 安装配置教程+错误解决方案
    PKCS#1
    密钥协商机制
    base64的编码
    认证过程
  • 原文地址:https://www.cnblogs.com/SUNYZBlog/p/10913581.html
Copyright © 2020-2023  润新知