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 应用示例
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);
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常用接口介绍及示例的更多相关文章
- DBUS及常用接口介绍
[原文] 1. 概述 1.1 DBUS概述 DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息 ...
- [刘阳Java]_Spring常用注解介绍_第6讲
Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...
- C#中常用接口介绍
1. IComparable接口 IComparable接口定义通用的比较方法.由类型使用的IComparable接口提供了一种比较多个对象的标准方式.如果一个类要实现与其它对象的比较, 则必须实现I ...
- java===字符串常用API介绍(转)
本文转自:http://blog.csdn.net/crazy_kid_hnf/article/details/55102861 字符串基本操作 1.substring(from,end)(含头不含尾 ...
- Java +selenium Navigation接口介绍
Navigation接口主要实现对浏览器的前进.后退.打开网址.刷新当前页面等操作的. void back():就是操作当前页面后退,相当于网页的后退按钮. void forward():就是操作当前 ...
- Java ArrayList详细介绍和使用示例
①对ArrayList的整体认识 ArrayList是一个数组队列,相当于动态数组.与Java中的数组相比,它的容量能动态增长.它继承了AbstractList,实现了List,RandomAcces ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)(转)
本文转自:http://www.cnblogs.com/skywang12345/p/3344137.html 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annota ...
- Java 之 常用函数式接口
JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供.下面是最简单的几个接口及使用示例. 一.Supplier 接口 java ...
- Java中常用的七个阻塞队列介绍第一篇
Java中常用的七个阻塞队列介绍第一篇 在上一篇我们对Java中的队列分类做了简单的介绍.本文咱们主要来聊聊阻塞队列中的七个常用子类.这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个 ...
随机推荐
- SPARQL查询语句整理
本文大多内容来自Joshua Taylor的回答 https://stackoverflow.com/users/1281433/joshua-taylor 查询子类或等价关系 https://sta ...
- 前端单元测试,以及给现有的vue项目添加jest + Vue Test Utils的配置
文章原址:https://www.cnblogs.com/yalong/p/11714393.html 背景介绍: 以前写的公共组件,后来需要添加一些功能,添加了好几次,每次修改我都要测试好几遍保证以 ...
- Qt编写自定义控件18-魔法小鱼
前言 上次发了个纯painter绘制的老鼠,那个就是qt目录下的demo,改的,只是比demo中的老鼠稍微胖一点,估计人到中年都发福吧.这次来一个魔法小鱼,这条鱼可以变换颜色,尾巴还会摇动,可以设定旋 ...
- Windows10系统python环境下安装Dlib库(转载,蔡军帅亲测可用)
Dlib是一个很优秀的机器学习库,最近做人脸识别要用到这个库,简要记录一下配置过程,准备工作: 1.python环境 2.安装好pip(这里有个简单的安装教程) 3.Dlib包,贴一个我安装的版本,链 ...
- 【转】MAC 配置ssh免密登录
配了挺多次免密登录,老是忘了,备份一下 转载自知乎,如侵删.https://zhuanlan.zhihu.com/p/32279976 -------------------------------- ...
- C++typedef的详细用法
转自知乎的一段解释: 作者:知乎用户链接:https://www.zhihu.com/question/29798061/answer/144423125来源:知乎著作权归作者所有.商业转载请联系作者 ...
- spring-boot集成6:集成redis实现字典缓存功能
Why redis? redis是基于内存的key-value系统,可以用作缓存中间件或者消息中间件,spring-boot提供了方便的方式和redis集成. 1.maven依赖 <!--red ...
- 解决使用wamp怎么使用php命令行
用了wamp,把php加到环境变量就报错啊! 那怎么用命令行啊! 可以找么着:(比如想执行 php think build --module demo) E:\php-project\tp5.> ...
- SQL ------ JDBC 删除指定的某条记录
package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...
- Android MVC MVP MVVM (一)
示例效果 一共三个控件,EditText,Button,TextView 成功显示账号信息,查询失败显示错误信息. <?xml version="1.0" encoding= ...