List集合即其遍历
1. 首先List<E>集合继承与Collection<E>,是一个接口。
① Collection (集合框架是JDK1.2版本出现的)
② list:是有序的,元素可以重复,以为该集合体系有索引。
经常用到的是实现该接口的ArrayList和LinkedList类
③ Arraylist: 底层的数据结构使用的是数组结构,
特点: 查询速度很快,但是增删稍慢。线程不同步
LinkedList: 底层使用的是链表数据结构。
特点: 增删速度很快,查询稍慢。
Vector:(JDK1.0版本出现的) 底层是数组数据结构,线程同步。被ArrayList替代了。(已经不用了)
2. List的两种遍历方式:
public class Demo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
System.out.println("........第一种遍历方式:for遍历......");
for (Object li : list) {
System.out.println(li);
}
System.out.println("........第二种遍历方式:ListIterator迭代遍历......");
ListIterator<String> it = list.listIterator();
while (it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
}
}
效果图:

3.使用LinkList模拟一个堆栈或者队列数据结构。即: 堆栈:先进后出 ; 队列: 先进先出
class Duilie{
private LinkedList<Object> link;
Duilie(){
link = new LinkedList<Object>();
}
public void myAdd(Object obj){
link.addFirst(obj);
}
public Object myGet(){
return link.removeLast();//先进先出---若要改成先进后出,将removelast()改成removeFirst()
}
public boolean isNull(){
return link.isEmpty();
}
}
public class Demo2 {
public static void main(String[] args) {
Duilie dl = new Duilie();
dl.myAdd("java01");
dl.myAdd("java02");
dl.myAdd("java03");
dl.myAdd("java04");
while(!dl.isNull()){
System.out.println(dl.myGet());
}
}
}
效果图:

以上为 先进先出,若要改为先进后出,则根据代码中写的改一下就可以了
List集合即其遍历的更多相关文章
- java 15-4 集合的专用遍历工具 迭代器
Iterator iterator():迭代器,集合的专用遍历方式 A:Object next():获取元素,并移动到下一个位置. 有时候会出现这样的错误: NoSuchElementExceptio ...
- Java基础知识强化之集合框架笔记34:List练习之集合的嵌套遍历
1. 需求: 我们班有学生,每一个学生是不是一个对象.所以我们可以使用一个集合表示我们班级的学生.ArrayList<Student> 但是呢,我们旁边是不是还有班级,每个班级是不是也是一 ...
- Ajax获取Json多个集合并同时遍历
Ajax获取Json多个集合并同时遍历: 方法一.:将多个集合放入MAP集合. 后台:Servlet @Override protected void doPost(HttpServletReques ...
- JAVA中集合转数组遍历
JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) { ...
- Java集合01----ArrayList的遍历方式及应用
Java集合01----ArrayList的遍历方式及应用 前面已经学习了ArrayList的源代码,为了学以 ...
- Map集合的六种遍历方式
学习目标: 熟练掌握Map的遍历方式 例题: 需求:遍历Map集合 代码如下: package com.yy.object.test.test_collection; import java.util ...
- 使用yield关键字让自定义集合实现foreach遍历
一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我们也可以通过使用yield关键字构建的迭代 ...
- Ruby 集合数组常用遍历方法
迭代器简介 先简单介绍一下迭代器. 1.一个Ruby迭代器就是一个简单的能接收代码块的方法(比如each这个方法就是一个迭代器).特征:如果一个方法里包含了yield调用,那这个方法肯定是迭代器: 2 ...
- 【遍历集合】Java遍历List,Map,Vector,Set的几种方法
关于list,map,set的区别参考http://www.cnblogs.com/qlqwjy/p/7406573.html 1.遍历list @Test public void testList( ...
随机推荐
- 【转】 bash简介及通配符、扩展通配符 shopt -s extglob
http://www.rhce.cc/?p=1005 当我们执行一些命令的时候,很多的命令是由bash提供的.如果我们想知道某个命令是否是由bash内置的命令的话,我们可以使用type bash内置命 ...
- Spark的部署方式
1.Spark的应用程序部署 2.Spark的集群部署
- 优步(UBER)发布2016年春节出境游出行报告
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- A Tour of Go Buffered Channels
Channels can be buffered. Provide the buffer length as the second argument to make to initialize a b ...
- [OC Foundation框架 - 7] NSArray的创建与遍历
NSArray是不可变的,不能先创建再添加元素 NSArray可以放入任何OC对象,但不能放入基本数据类型.结构体.枚举等非OC对象 不能存储nil A.常用方法1 创建 返回用量 是否含有某元素 ...
- C++中实现从std::string类型到bool型的转换
利用输入字符串流:std::istringstream bool b; std::string s = "true"; std::istringstream(s) >> ...
- 剑指OFFER之合并有序链表(九度OJ1519)
题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.(hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测 ...
- 使用教程sqlite
访问地址: http://www.runoob.com/sqlite/sqlite-where-clause.html
- MySQL中UNION和UNION ALL的使用
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同. MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后 ...
- Java向PostgreSQL发送prepared statement 与 libpq 向PostgreSQL发送prepared statement之比较:
Java 代码,在数据库端,并没有当成 prepared statetment 被处理. C代码通过libpq 访问数据库端,被当成了 prepared statement 处理.也许是因Postgr ...