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中的队列分类做了简单的介绍.本文咱们主要来聊聊阻塞队列中的七个常用子类.这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个 ...
随机推荐
- MongoDB in Action (MongoDB 实战).pdf
http://www.open-open.com/doc/view/691d4d2232ce4b30b14c6b218fff4be8
- selenium webdriver常用函数
from selenium import webdriver driver = webdriver.Ie(executable_path = "e:\\IEDriverServer" ...
- Python类call函数的作用
call函数可以把类变成函数来调用call方法 class Demo(): def __init__(self, name): self.name = name def __call__(self): ...
- 创建使用Spring Boot
Spring Boot 创建项目 Spring Initializr 创建完成会自动下载 解压后 Idea导入 修改国内镜像 网络不够强的话停掉自动更新 build.gradle 加上 reposit ...
- k8s集群部署(3)
一.利用ansible部署kubernetes集群环境准备 基于二进制方式部署和利用ansible-playbook实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配 ...
- Linux shell脚本重试机制
重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务. 以下 shell 脚本是实现重试机制的模板: # ...
- docker容器内存和CPU使用限制
docker容器内存和CPU使用限制 示例如下 sudo docker run --name seckill0 -p 8080:8080 -m 1024M --cpus=0.2 -d seckill: ...
- 微信小程序实现navbar导航栏
一.效果图 二.涉及到组件 1.view组件 2.swiper组件 三.原理 整体来讲是比较简单的,顶部的navbar是使用flex进行布局的:下面的内容区域则是使用到swiper组件,使用方式比较简 ...
- mysql数据库之视图、触发器
视图 概念:通过查询得到的一张虚拟表,然后保存下来就是视图 视图的好处:如果要频繁使用某张虚拟表,那么就可以保存为视图,以后查找就直接拿这个视图就会非常方便 视图语法规则: create view t ...
- day26 封装、多态、内置函数、反射、动态导入
今日内容 1.封装 什么是封装? 封装从字面意思上看就只将某种东西封起来装好,当我们代码中的某些方法与属性不想让外界进行访问时,就对这些属性进行特殊的处理,使这种属性或者方法不能被外界直接进行访问或者 ...