ArrayList常用操作
List使用:
package com.collection.list; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * package com.collection.list * functional describe: * ArrayList本质上是数组的封装。 * ArrayList与LinkedList性能上的区别: * 随机添加或删除时:ArrayList < LinkedList * 随机获取元素时: ArrayList > LinkedList * 在集合末尾添加或查询元素时,性能都差不多 * * @version 1.0 16-8-24 上午9:19 * @auther luyanliang [765673481@qq.com] */ public class ArrayListDemo { /** * List转换数组 */ public static void toArray() { List<String> list = createStringList(); String[] array = list.toArray(new String[list.size()]); System.out.println("List转换成数组结果: " + Arrays.toString(array)); } /** * 数组转List * 注:转换后的list不能进行删除或添加操作 * * 运行结果: * 数组转换成List结果: [Lucy, Hillary Clinton, Mark] × Exception in thread "main" java.lang.UnsupportedOperationException * */ public static void toList() { String[] array = new String[] {"Lucy", "Hillary Clinton", "Mark"}; List<String> list = Arrays.asList(array); System.out.println("数组转换成List结果: " + list); // list.remove("Lucy"); } /** * 合并集合并去重 * 注:Arrays.asList()创建的集合不能add()或remove()。 * 具体原因看源码:Arrays没有重写AbstractList类的add()或者remove()方法,所以只用添加或删除都会报错 */ public static void addCollection() { List<String> original = createStringList(); List<String> addList = new ArrayList<String>(); addList.add("add"); addList.add("Jone"); addList.remove(original); addList.addAll(original); System.out.println("两个集合合并后的结果为: " + original); } /** * 对象引用 * * 运行结果: * 原先集合: [Jone, Mock, Mark] * 引用集合: [Jone, Mock, Mark] * 删除元素Jone后原先集合为: [Mock, Mark] * 删除元素Jone后引用集合为: [Mock, Mark] */ public static void copyList() { List<String> original = new ArrayList<String>(); original.add("Jone"); original.add("Mock"); original.add("Mark"); List<String> quote = original; System.out.println("原先集合: " + original); System.out.println("引用集合: " + quote); original.remove("Jone"); System.out.println("删除元素Jone后原先集合为: " + original); System.out.println("删除元素Jone后引用集合为: " + quote); } /** * 创建集合 * @return */ public static List<String> createStringList() { List<String> strList = Arrays.asList("Jone", "Luce", "Mack"); return strList; } public static void main(String[] args) { // ArrayListDemo.toArray(); // ArrayListDemo.copyList(); // ArrayListDemo.toList(); ArrayListDemo.addCollection(); } }
删除List集合中指定的元素:
import java.util.*; public class Test { public void remove1() { List<String> strList = this.createList(); for (int i = 0; i < strList.size(); i ++ ) { String str = strList.get(i); if ("ab5".equals(str)) { strList.remove(i); i --; } System.out.println("i: " + i + ", str: " + str + ", size: " + strList.size()); } System.out.println("*************"); System.out.println(strList.toString()); } public void remove2() { List<String> strList = this.createList(); Iterator<String> iterator = strList.iterator(); if (iterator.hasNext()) { String str = iterator.next(); if ("ab5".equals(str)) { iterator.remove(); } } } public void remove3() { List<String> strList = this.createList(); for (int i = 0; i < strList.size() - 1; i ++) { String str = strList.get(i); for (int j = i + 1; j < strList.size(); j ++) { String nextStr = strList.get(j); if (nextStr.equals(str)) { strList.remove(j); j --; } } System.out.println("i: " + i + ", str: " + str + ", size: " + strList.size()); } System.out.println("*************"); System.out.println(strList.toString()); } public static void main(String[] args) { } public void createList() { List<String> strList = new ArrayList<String>(); strList.add("ab1"); strList.add("ab2"); strList.add("ab3"); strList.add("ab4"); strList.add("ab5"); strList.add("ab4"); strList.add("ab5"); strList.add("ab6"); System.out.println(strList.toString()); System.out.println("*************"); return strList; } }
ArrayList常用操作的更多相关文章
- Hbase常用操作(增删改查)
Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区 作者:net19880504 [字体:大 中 小] 运行Eclipse,创建一个新的Java工程“HBa ...
- [PY3]——内置数据结构(1)——列表及其常用操作
列表及其常用操作_xmind图 about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...
- Java ArrayList常用接口介绍及示例
Java List 常用类型 类型 特征 ArrayList 随机访问元素快:中间插入与删除元素较慢:操作不是线程安全的 LinkedList 中间插入与删除操作代价较低,提供优化的顺序访问:随机访问 ...
- Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)
平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
随机推荐
- metaWeblog Test
#include "stdio.h" int main(int argc ,char **argv) { printf("argc = %d \n",arg ...
- 《锋利的jQuery(第2版)》笔记-第2章-jQuery选择器
选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. ...
- 利用exp/imp备份恢复数据库实例
用exp/imp备份数据库: Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的 ...
- hdu1282回文数猜想
Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...
- 转载 什么是P问题、NP问题和NPC问题
原文地址http://www.matrix67.com/blog/archives/105 这或许是众多OIer最大的误区之一. 你会经常看到网上出现“这怎么做,这不是NP问题吗”.“这个只有搜 ...
- 当前Windows群集心跳阀值设置
一.内容描述: WINDOWS群集之间通过心跳检测(HeartBeat)各个节点是否正常在线,微软称此检测为lookalive,检测通过UDP数据包中封装的RPC信息进行传送.默认情况下为每秒检测一次 ...
- (转载)GDI+双缓冲
双缓冲在GDI+里可以有效的提高描画效率.改善显示的质量. 下面的代码是一个最简单的双缓冲的模板.可以根据需要,做简单的修改即可. Bitmap CacheImage( [Width], [Heigh ...
- nginx 反代理google
./configure \ --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/n ...
- 转:入门Webpack,看这篇就够了
写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段 ...
- 基于SSH框架的网上商城的质量属性
常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统 ...