zoukankan      html  css  js  c++  java
  • ArrayList 浅析示例

     1 package com.smbea.demo;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Iterator;
     5 import java.util.List;
     6 
     7 /**
     8  * 1、继承自接口 List、RandomAccess、Cloneable、Serializable;
     9  * 2、实现自类 AbstractList;
    10  * 3、元素有顺序;
    11  * 4、增删操作由于要移动元素,故此增删比较慢;
    12  * 5、查询操作由于采用的是索引,故此查询比较快;
    13  * 6、非线程安全的-轻量级;
    14  * 7、由于实现了接口 RandomAccess,故此可以随机访问其中的元素;
    15  * 8、由于实现了接口 Cloneable,故可以复制 ArrayList;
    16  * 9、由于实现了接口 Serializable,故可以被序列化
    17  * @author hapday
    18  * @date 2016年7月9日 下午9:25:23
    19  *
    20  */
    21 public class ArrayListDemo {
    22 
    23     public static void main(String[] args) {
    24         elementRepeatableTest();
    25         
    26         elementSequentialTest();
    27     }
    28 
    29     /**
    30      * 验证【元素可重复】
    31      */
    32     public static void elementRepeatableTest() {
    33         int num1 [] = new int[]{7,8,9};
    34         int num2 [] = num1;
    35         
    36         List<Object> list = new ArrayList<Object> ();
    37         list.add(1);
    38         list.add(2);
    39         list.add(3);
    40         list.add(3);
    41         list.add("string");
    42         list.add(num1);
    43         list.add(num2);
    44         list.add("中文");
    45         list.add("中文可重复");
    46         list.add("中文可重复");
    47         
    48         System.out.println("*** 元素可重复(迭代器)  ***");
    49         Iterator<Object> iterator = list.iterator();
    50         while(iterator.hasNext()){
    51             System.out.print(iterator.next() + " - ");
    52         }
    53         
    54         System.out.println("
    *** 元素可重复(forEach)  ***");
    55         for(Object object : list){
    56             System.out.print(object + " - ");
    57         }
    58         
    59         System.out.println("
    *** 元素可重复(toString())  ***");
    60         System.out.print(list);
    61     }
    62 
    63     /**
    64      * 【元素有顺序】
    65      */
    66     public static void elementSequentialTest() {
    67         List<Integer> list = new ArrayList<Integer> ();
    68         for(int index = 1; index <= 100000; index++){
    69             list.add(index);        // 加入 10 万的元素
    70         }
    71         
    72         boolean exists = true;        // 是否存在:true-存在;false-不存在
    73         int current = 0;    // 当前元素
    74         int previous = 0;    // 上一个元素
    75         Iterator<Integer> iterator = list.iterator();
    76         while(iterator.hasNext()){
    77             current = iterator.next();
    78             if(current < previous){
    79                 exists = false;
    80             }
    81             
    82             previous = current;
    83         }
    84         
    85         System.out.println("
    *** 元素有顺序  ***");
    86         System.out.print("是否有顺序:" + exists);
    87     }
    88 
    89 }
    1、继承自接口 List、RandomAccess、Cloneable、Serializable;
    2、实现自类 AbstractList;
    3、元素有顺序;
    4、增删操作由于要移动元素,故此增删比较慢;
    5、查询操作由于采用的是索引,故此查询比较快;
    6、非线程安全的-轻量级;
    7、由于实现了接口 RandomAccess,故此可以随机访问其中的元素;
    8、由于实现了接口 Cloneable,故可以复制 ArrayList;
    9、由于实现了接口 Serializable,故可以被序列化
  • 相关阅读:
    Laravel中Contracts的理解和使用
    laravel 服务容器的用法
    linux 安装go环境
    权限设计-系统登录用户权限设计
    Laravel 中使用 JWT 认证的 Restful API
    使用laravel-wechat微信支付
    composer查看全局配置
    如何在 Laravel 项目中处理 Excel 文件
    laravel各种请求类
    Centos创建用户并授权
  • 原文地址:https://www.cnblogs.com/hapday/p/5656685.html
Copyright © 2011-2022 走看看