1 package com.jdk7.chapter4;
  2
  3 import java.util.ArrayList;
  4 import java.util.LinkedList;
  5 import java.util.List;
  6 import java.util.ListIterator;
  7 import java.util.Stack;
  8 import java.util.Vector;
  9 /**
 10  * java中集合的形式一》列表(有序允许重复)
 11  * 列表的三种表现形式》ArrayList、Vector、LinkedList
 12  * 其中Stack extends Vector
 13  * 另: List的遍历器(ListIterator)可以操作列表元素
 14  * @author Administrator
 15  *
 16  */
 17 public class ListTest {
 18     public static void init(List list){
 19         if(list!=null){
 20             list.add("aaa");
 21             list.add("bbb");
 22             list.add("ddd");
 23             list.add("eee");
 24         }
 25     }
 26
 27     public static void printList(List list){
 28         if(list!=null){
 29             for(int i=0;i<list.size();i++){
 30                 System.out.print(list.get(i)+" ");
 31             }
 32         }
 33         System.out.println();
 34     }
 35
 36     public static void arrayList(){
 37         List arrayList = new ArrayList();
 38         init(arrayList);
 39         printList(arrayList);
 40     }
 41
 42     public static void vector(){
 43         List list = new Vector();
 44         init(list);
 45         printList(list);
 46     }
 47
 48     public static void linkedList(){
 49         List list = new LinkedList();
 50         init(list);
 51         printList(list);
 52     }
 53
 54     public static void main(String[] args) {
 55         System.out.println("===============ArrayList集合==================");
 56         arrayList();
 57         System.out.println("===============Vector集合==================");
 58         vector();
 59         System.out.println("===============LinkedList集合==================");
 60         linkedList();
 61         System.out.println("===============操作ArrayList集合元素==================");
 62         List list = new ArrayList();
 63         list.add("1111");
 64         list.add("2222");
 65         list.add("3333");
 66         list.add(0, "eeee");
 67         list.indexOf("2222");
 68         printList(list);
 69         System.out.println("=================================");
 70         List list1 = new ArrayList();
 71         list1.addAll(list);
 72         list1.add("bbbb");
 73         printList(list1);
 74         System.out.println("数组list1包含数组list: "+list1.containsAll(list));
 75         list1.set(1, "vvvv");
 76         printList(list1);
 77         System.out.println("===============List的遍历器实现对集合元素的操作==================");
 78         ListIterator listIt = list.listIterator();
 79         System.out.print("正向遍历结果: ");
 80         while(listIt.hasNext()){
 81             System.out.print(listIt.next()+" ");
 82         }
 83         System.out.println();
 84         System.out.print("逆向遍历结果: ");
 85         while(listIt.hasPrevious()){
 86             System.out.print(listIt.previous()+" ");
 87         }
 88         System.out.println();
 89         //在遍历器所在位置对数组元素进行操作,遍历器位置通过ListIterator的next()和previous()进行变动
 90         listIt.next();
 91         listIt.add("ffff");
 92         printList(list);
 93         System.out.println("=================================");
 94         listIt.next();
 95         listIt.remove();
 96         printList(list);
 97         System.out.println("===============Vector类的子类Stack类操作集合元素==================");
 98         Stack myStack =  new Stack();
 99         myStack.push("hhhh");
100         myStack.push("eeee");
101         myStack.push("llll");
102         myStack.push("oooo");
103         printList(myStack);
104         System.out.println("================堆栈尾部元素及堆栈所有元素=================");
105         System.out.println("堆栈尾部元素: "+myStack.peek());
106         printList(myStack);
107         System.out.println("================弹出的堆栈尾部元素及堆栈所有元素=================");
108         System.out.println("弹出的堆栈尾部元素: "+myStack.pop());
109         printList(myStack);
110         System.out.println("================操作LinkedList集合元素=================");
111         LinkedList linkedList = new LinkedList();
112         linkedList.addAll(list);
113         printList(linkedList);
114         System.out.println("在集合头部插入'start'");
115         linkedList.addFirst("start");
116         printList(linkedList);
117         System.out.println("在集合尾部插入'end'");
118         linkedList.addLast("end");
119         printList(linkedList);
120         System.out.println("删除集合头部元素'start'");
121         linkedList.removeFirst();
122         printList(linkedList);
123         System.out.println("删除集合尾部元素'end'");
124         linkedList.removeLast();
125         printList(linkedList);
126         System.out.println("集合首尾插入元素'aaaa'");
127         linkedList.addFirst("aaaa");
128         linkedList.addLast("aaaa");
129         printList(linkedList);
130         System.out.println("删除元素'aaaa'");
131         linkedList.remove("aaaa");
132         printList(linkedList);
133     }
134 }
135
136
137 执行结果为:
138 ===============ArrayList集合==================
139 aaa bbb ddd eee
140 ===============Vector集合==================
141 aaa bbb ddd eee
142 ===============LinkedList集合==================
143 aaa bbb ddd eee
144 ===============操作ArrayList集合元素==================
145 eeee 1111 2222 3333
146 =================================
147 eeee 1111 2222 3333 bbbb
148 数组list1包含数组list: true
149 eeee vvvv 2222 3333 bbbb
150 ===============List的遍历器实现对集合元素的操作==================
151 正向遍历结果: eeee 1111 2222 3333
152 逆向遍历结果: 3333 2222 1111 eeee
153 eeee ffff 1111 2222 3333
154 =================================
155 eeee ffff 2222 3333
156 ===============Vector类的子类Stack类操作集合元素==================
157 hhhh eeee llll oooo
158 ================堆栈尾部元素及堆栈所有元素=================
159 堆栈尾部元素: oooo
160 hhhh eeee llll oooo
161 ================弹出的堆栈尾部元素及堆栈所有元素=================
162 弹出的堆栈尾部元素: oooo
163 hhhh eeee llll
164 ================操作LinkedList集合元素=================
165 eeee ffff 2222 3333
166 在集合头部插入'start'
167 start eeee ffff 2222 3333
168 在集合尾部插入'end'
169 start eeee ffff 2222 3333 end
170 删除集合头部元素'start'
171 eeee ffff 2222 3333 end
172 删除集合尾部元素'end'
173 eeee ffff 2222 3333
174 集合首尾插入元素'aaaa'
175 aaaa eeee ffff 2222 3333 aaaa
176 删除元素'aaaa'
177 eeee ffff 2222 3333 aaaa 

转载于:https://www.cnblogs.com/celine/p/8455401.html

java集合之列表:ArrayList、Vector、LinkedList相关推荐

  1. 【重难点】【Java集合 03】ArrayList、LinkedList、 Vector 和 Stack 的区别、CopyOnWriteArrayList

    [重难点][Java集合 03]ArrayList.LinkedList 和 Vector 的区别.util 包下的 List.CopyOnWriteArrayList 文章目录 [重难点][Java ...

  2. java集合框架05——ArrayList和LinkedList的区别

    前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ...

  3. java集合框架之ArrayList与LinkedList的区别

    参考http://how2j.cn/k/collection/collection-arraylist-vs-linkedlist/690.html#nowhere ArrayList和LinkedL ...

  4. java集合——数组列表(ArrayList)+散列集(HashSet)

    [0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java集合--数组列表(ArrayList)+散列集(HashSet) 的相关知识: 0.2 ...

  5. JAVA集合一:ArrayList和LinkedList

    JAVA集合一:ArrayList和LinkedList 参考链接: HOW2J.CN 前言 这几篇博客重点记录JAVA的几个重要的集合框架:ArrayList.LinkedList.HashMap. ...

  6. Java 集合之给ArrayList排序

    Java 集合之给ArrayList排序 ArrayList的排序可以借助Collections工具类的sort(List list)以及重载的sort(List list, Comparator&l ...

  7. 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)

    本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...

  8. java:集合(Collection【List(ArrayList Vector LinkedList)、set】、Map【hashMap、treeMap、hashtable、properties】)

    目录 集合的框架体系 一.Collection接口和常用方法 1.1   List接口和常用方法 1.1.1   ArrayList底层结构和源码分析 1.1.2 Vector底层结构 1.1.3 L ...

  9. 16.集合框架(ArrayList,Vector,LinkedList,泛型(Generic),可变参数,增强for循环)

    1.ArrayList存储字符串并遍历 JDK1.8新增的一个方法也能遍历集合 void forEach(Consumer<? super E> action) 执行特定动作的每一个元素的 ...

最新文章

  1. keras中重要的函数用法及参数详解
  2. CentOS上安装 jdk
  3. python apktool_【转】利用apktool反编译apk,并且重新签名打包
  4. java中对象的序列化和反序列化
  5. 更新整理本人所有博文中提供的代码与工具(C++,2013.11)
  6. android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)网页
  7. 类似 汽车之家 对比_损坏汽车的日常行为都有哪些?你有做过吗?
  8. 微信小程序,引爆新热点!JEECG社区小程序实战培训,业内首发,实战干货!
  9. 搭建大数据开发环境-Hadoop篇
  10. Objective-C基础
  11. TensorFlow2.0:tensorboard使用
  12. [Bootstrap]组件(二)
  13. 排序算法2:直接选择排序
  14. 适用于Windows的Xcode:在PC上安装Xcode的5种方法
  15. 日记侠:你的文章为什么阅读量会那么高?
  16. 【网络传输协议】RTSP即RealTimeStreamingProtocol流媒体网络传输协议
  17. java判断颜色合法_判断颜色是否合法的正则表达式(详解)
  18. 各类型PPT免费模板,无需编辑直接套用即可!
  19. 打印服务器通常不采用tcp ip协议,TCP/IP 卷Ⅰ协议-绪论
  20. 启用Win11原生支持的DoH(DNS over HTTPS)和配置自定义的DoH服务

热门文章

  1. 【java笔记】网络编程:文件上传案例
  2. jenkins无法连接仓库:Command “/usr/bin/git ls-remote -h -- https://gitee.com/xxx.git HEAD“ returned
  3. Windows下VSCode运行shell
  4. 牛客 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 签到题13题
  5. php odbc 结果集处理,php常用ODBC函数集的简单示例
  6. java一行输入多个数据类型_Java中的3种输入方式实现解析
  7. JAVA面向对象OOP→构造方法、this、访问修饰符、static、方法重载、JVM内存分配、GC垃圾回收、包、样例代码
  8. 用php解决钱币组合问题,关于若干数组组合的问题 PHP
  9. python在信号处理的应用_Python和信号处理程序
  10. mysql 创建聚集索引_索引为什么会加快Mysql的查询速度?