package com.smbea.demo;

 import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; /**
* 1、继承自接口 List、RandomAccess、Cloneable、Serializable;
* 2、实现自类 AbstractList;
* 3、元素有顺序;
* 4、增删操作由于要移动元素,故此增删比较慢;
* 5、查询操作由于采用的是索引,故此查询比较快;
* 6、非线程安全的-轻量级;
* 7、由于实现了接口 RandomAccess,故此可以随机访问其中的元素;
* 8、由于实现了接口 Cloneable,故可以复制 ArrayList;
* 9、由于实现了接口 Serializable,故可以被序列化
* @author hapday
* @date 2016年7月9日 下午9:25:23
*
*/
public class ArrayListDemo { public static void main(String[] args) {
elementRepeatableTest(); elementSequentialTest();
} /**
* 验证【元素可重复】
*/
public static void elementRepeatableTest() {
int num1 [] = new int[]{7,8,9};
int num2 [] = num1; List<Object> list = new ArrayList<Object> ();
list.add(1);
list.add(2);
list.add(3);
list.add(3);
list.add("string");
list.add(num1);
list.add(num2);
list.add("中文");
list.add("中文可重复");
list.add("中文可重复"); System.out.println("*** 元素可重复(迭代器) ***");
Iterator<Object> iterator = list.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next() + " - ");
} System.out.println("\n*** 元素可重复(forEach) ***");
for(Object object : list){
System.out.print(object + " - ");
} System.out.println("\n*** 元素可重复(toString()) ***");
System.out.print(list);
} /**
* 【元素有顺序】
*/
public static void elementSequentialTest() {
List<Integer> list = new ArrayList<Integer> ();
for(int index = 1; index <= 100000; index++){
list.add(index); // 加入 10 万的元素
} boolean exists = true; // 是否存在:true-存在;false-不存在
int current = 0; // 当前元素
int previous = 0; // 上一个元素
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
current = iterator.next();
if(current < previous){
exists = false;
} previous = current;
} System.out.println("\n*** 元素有顺序 ***");
System.out.print("是否有顺序:" + exists);
} }
1、继承自接口 List、RandomAccess、Cloneable、Serializable;
2、实现自类 AbstractList;
3、元素有顺序;
4、增删操作由于要移动元素,故此增删比较慢;
5、查询操作由于采用的是索引,故此查询比较快;
6、非线程安全的-轻量级;
7、由于实现了接口 RandomAccess,故此可以随机访问其中的元素;
8、由于实现了接口 Cloneable,故可以复制 ArrayList;
9、由于实现了接口 Serializable,故可以被序列化

ArrayList 浅析示例的更多相关文章

  1. Java集合框架之ArrayList浅析

    Java集合框架之ArrayList浅析 一.ArrayList综述: 位于java.util包下的ArrayList是java集合框架的重要成员,它就是传说中的动态数组,用MSDN中的说法,就是Ar ...

  2. ArrayList代码示例

    package com.shushine.framework.第七章Java标准类库;import java.util.ArrayList;/** * * <p> * 描述该类情况 {@l ...

  3. 集合List和ArrayList的示例

    package chapter09; import java.util.ArrayList;import java.util.List; /* * List * ArrayList底层是数组 * 特点 ...

  4. JDK源码--ArrayList浅析

    先上别人的源码分析http://www.cnblogs.com/roucheng/p/jdkfenxi.html 这个链接也不错:http://www.jianshu.com/p/8d14b55fa1 ...

  5. LinkedList 浅析示例

    package com.smbea.demo; import java.util.Iterator; import java.util.LinkedList; import java.util.Lis ...

  6. HashSet 浅析示例

    * 1.继承自抽象类 AbstractSet,实现接口 Set.Cloneable.Serializable: * 2.元素无顺序: * 3.元素不可重复: * 4.采用哈希算法插入数据,插入速度快: ...

  7. Java ArrayList常用接口介绍及示例

    Java List 常用类型 类型 特征 ArrayList 随机访问元素快:中间插入与删除元素较慢:操作不是线程安全的 LinkedList 中间插入与删除操作代价较低,提供优化的顺序访问:随机访问 ...

  8. 集合简单总结 ArrayList、List、Hashtable、Dictionary

      ============================ 集合综述 ============================== 1.什么是泛型: 泛型就是限制了操作类型,意思如下:       ...

  9. Java中ArrayList和LinkedList的异同

    一:ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,ArrayList实现了长度可变的数组,在内存中分配连续的空间.遍历元素和随机访问元 ...

随机推荐

  1. 恢复MySQL主从数据一致性的总结

    今日上午,同事告知,MySQL主从数据库的数据不一致,猜测备库在同步过程中出现了问题,于是,登上备库,使用 mysql> show slave status\G查看,果然,备库在insert语句 ...

  2. 输入URL到展现页面的全过程

    最近在看一本关于网络协议的书<图解HTTP> 当我们在浏览器的地址栏输入 http://www.pwstrick.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 1.  域名 ...

  3. new的探究

    new操作符易用,但是往往容易忽略对其的理解. var foo= new Foo(); 这个简单的语句,涉及到了一系列的步骤: 1),给对象开辟内存,即 var foo= {}; 2),修改新对象的隐 ...

  4. hibernate笔记--基于外键的单(双)向的一对一映射关系

    假设我们有两张表,人员信息表Person,和身份信息表IdCard,我们知道每个人只有一个身份证号,所以这里的Person和IdCard表是一一对应的,也就是一对一的映射关系,基于外键的单向一对一映射 ...

  5. 会务准备期间材料准备工作具体实施总结 ----(vim技巧应用, python信息提取与整合, microsoft word格式调整批量化)

    会务准备期间材料准备工作具体实施总结(vim, python, microsoft word) span.kw { color: #007020; font-weight: bold; } code ...

  6. SQL Server中smalldatetime的日期范围为何是[1900-01-01,2079-06-06]

    本文目录列表: 1.SQL Server中的基准日期 2.smalldatetime的日期范围 3.smalldatetime的日期范围和无符号2字节整数的关系 4.总结语 5.参考清单列表   SQ ...

  7. IoC原理-使用反射/Emit来实现一个最简单的IoC容器

    从Unity到Spring.Net,到Ninject,几年来陆陆续续用过几个IoC框架.虽然会用,但也没有一直仔细的研究过IoC实现的过程.最近花了点时间,下了Ninject的源码,研究了一番,颇有收 ...

  8. 无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS"

    无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间 2011-0 ...

  9. css的三种样式

    1.行间样式 顾名思义就是直接写在div对里面的样式   2.内部样式 把样式写在一对<style></style>标签对中 这个标签对是放在html页面里面的   3.外联样 ...

  10. Laravel [1045] 解决方法 Access denied for user 'homestead'@'localhost'

    这几天学习Laravel框架遇到了数据库方面的问题. PDOException in Connector.php line 55:SQLSTATE[HY000] [1045] Access denie ...