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中的队列分类做了简单的介绍.本文咱们主要来聊聊阻塞队列中的七个常用子类.这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个 ...
随机推荐
- kettle在linux安装
1 首先保证linux上面已经安装jdk,因为kettle是用Java开发,依赖于jdk 2 将pdi-ce-7.1.0.0-12.zip 上传到linux对应文件夹下面(笔者上传到/opt/kett ...
- JavaScript抽象语法树英文对照
type:"Program" //顶级对象类型 type:"Identifier" // 标识符 type:"FuncationDeclaration ...
- Spring Boot 2.0 集成 Druid 数据源
一.Maven项目依赖 <!-- 开发者工具(热部署 修改classpath下的文件springboot自动重启) --> <dependency> <groupId&g ...
- MySQL数据操作语句精解
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句. 言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INS ...
- web安全checklist
web安全漏洞场景分析 输入输出检验不充分 设计缺陷 环境缺陷
- 用myeclipse连接MySQL8.0时没有配置jar包
先上测试代码 package testJdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql. ...
- boostrap table接收到后台返回的数据格式不一致的解决方法
后台使用的分页插件是mybatis的PageHelper,返回数据格式如下: 而bootstrap table插件需要服务端返回的数据格式中含有"total"和"rows ...
- JAVA -----------交互式程序
2.6交互式程序 如果程序能在执行期间交互地从用户输入中读取数据,就可使程序每执行一次时计算出新结果,并且新结果取决于输入数据.这样的程序才具有实用性. 2.6.1 Scanner类 Scanner类 ...
- TP5模型belongsTo和hasOne这两个方法的区别
在使用tp5模型的ORM的时候出现belongsTo和hasOne都有表示一对一的关系,但是二者并不相同.以下举例说明两者的区别: 首先有user表 字段 id name password字段 然后有 ...
- Error:[$injector:modulerr]错误解决方式
1.报错信息如下图所示: 问题:目前应用打包之后,在iphone6手机上打开应用白板(打开vconsole发现有如上报错 >>> 测试过多部手机,仅上面的IOS9版本出现问题) ...