文档章节

list的用法

Carbenson
 Carbenson
发布于 2015/06/16 23:47
字数 959
阅读 23
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

1、List中可以添加任何对象,包括自己定义的新的类。
  • class Person{
    .....
    }
    上面定义了一个Person类,下面看好如何使用List
    Person p1=new Person();
    Person p2=new Person();
    List list=new ArrayList();
    list.add(p1);
    list.add(p2);//这里是将对象加入到list中
    for(int i=0;i
    Person p=(Person)list.get(i);//注意,这里一定要强制类型转换,因为List中取出的对象都是Object类型的,希望对你有所帮助
    
    }
2、List是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedList
List myList = new ArrayList();
3、使用myList.add(任何对象);就可以进行添加了。
4、取值的时候myList.get(索引);取出来的值都是Object,使用时需要类型转换。
5、可用Iterator迭代器对List中的元素进行迭代操作。
List 集合中的对象按照一定的顺序排放,里面的内容可以重复。
List接口实现的类:ArrayList(实现动态数组), Vector(实现动态数组) ,LinkedList(实现链表), Stack(实现堆栈)







一 list接口
1.java.util.ArrayList类实现一个可增长的动态数组,平时用的比较多的就是add()方法,其它方法
请参考API帮助文档。使用该方法向集合内添加对象,并且这些对象是按照一定的顺序排列
的,它内部原理是数组实现的,因此处理数据量较大时,不建议使用。

public class TestArrayList {

public static void main(String[] args) {
//声明List 并实例化为ArrayList
List al = new ArrayList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}

}
3.java.util.Vector(向量)类 与ArrayList类似的也是实现一个动态的数组,该向量可以随意的增长以存放更多的对象


public class TestArrayList {

public static void main(String[] args) {
//声明List 并实例化为Vector
List al = new Vector();
//使用add()方法添加对象
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的对象并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}

}
3.java.util.LinkedList类实现了链表,可初始化化为空或者已存在的集合,通常使用以下方法
add();向链表末尾添加对象。
addFirst()在链表开头添加对象。
addLast()在链表末尾添加对象。
getFirst()得到链表开头的对象。
getLast()得到链表末尾的对象。
注意该类提供了随机访问列表中的元素的方法,但是底层依然必须遍历去查找随机访问的对象,因此性能依然有限.

public static void main(String[] args) {
//声明LinkedList并实例化
LinkedList al = new LinkedList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
System.out.println("_____");
//向链表头和尾分别添加x和z
al.addFirst("z");
al.addLast("x");
//遍历查看添加后的结果
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}

}

4.java.util.Stack类实现了堆栈数据结构,即按照先进后出的原则存放数据。创建时只能为空。
使用push()方法进行添加对象
public static void main(String[] args) {
//声明Stack并实例化
Stack al = new Stack();
//使用push()方法添加元素
al.push("a");
al.push("b");
al.push("c");
al.push("d");
al.push("f");
//使用Iterator迭代器遍历出集合的元素并打印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
 
-----------
Example added by myself:
public class Test {
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  ArrayList list = new ArrayList();
  list.add(0,"aa");
  list.add(1,"bb");
  list.add(2,"cc");
  for(int i=0;i<10;i++)
  {
   
   list.add(Integer.toString(i));
  }
  for(int i=0;i<list.size();i++)
  {
   System.out.println(list.get(i));
  }
  for(Iterator i=list.iterator();i.hasNext();)
   //首先定义一个list对象的Iterator,然后利用该Iterator进行循环迭代操作
  {
   String s =(String)i.next();
   System.out.println(s);
  }
 }
}

© 著作权归作者所有

Carbenson
粉丝 20
博文 276
码字总数 86244
作品 0
广州
程序员
私信 提问
加载中

评论(0)

70个注意的Python小Notes

Python读书笔记:70个注意的小Notes 作者:白宁超 2018年7月9日10:58:18 摘要:在阅读python相关书籍中,对其进行简单的笔记纪要。旨在注意一些细节问题,在今后项目中灵活运用,并对部分小n...

osc_n3166lwj
2018/07/09
8
0
[转] Immutable 常用API简介

本文主要整理了Immutable.js常用API的使用。 Immutable 是什么? 关于Immutable的定义,官方文档是这样说的: Immutable data encourages pure functions (data-in, data-out) and lends its...

osc_6zu0q9s3
2018/03/02
1
0
Python笔记:string,tuple,list,dictionary的区别(之二,高级用法与类型转换)

上一篇《Python笔记:string,tuple,list,dictionary的区别(之一,基本用法与区别)》讲述了这四种类型的基本用法与区别,本篇讲述的是高级用法与类型转换。关于list的更多的高级用法在下一...

Li Kang
03/31
0
0
(python)getattr等用法

getattr() 函数用于返回一个对象属性值; 语法 getattr(object, name[, default]) 参数 object -- 对象。name -- 字符串,对象属性。default -- 默认返回值,如果不提供该参数,在没有对应属性...

osc_bg494qeb
2019/07/24
0
0
java--集合框架

集合接口 1.List接口 它继承于Collection,有序集合。常用用法: 2.Set接口 它继承于Collection,无序集合,且不允许出现重复元素,可以包含null元素(最多只有一个)。常用用法: 3.Map接口 ...

求是科技
2016/09/02
44
0

没有更多内容

加载失败,请刷新页面

加载更多

10分钟白嫖我的常用的在线工具网站清单

大家好,我是 Guide 哥,一个三观比主角还正的技术人。 简单整理了一下自己日常经常使用的工具网站,分享给小伙伴们!其他推荐阅读: 完结撒花!JavaGuide面试突击版来啦! 「Java面试题精华...

osc_k8v7r34l
8分钟前
11
0
为什么要使用RabbitMQ?(结合场景进行回答)

Rabbit的常用使用场景的话有三个:异步、应用解耦、削峰。 RabbitMQ的话在我们的下单系统中就有应用到。 一:异步处理(从场景出发进行回答) 场景:用户在我们的平台上下单了某个商品之后,...

魍宂庞
9分钟前
7
0
LOW CODE 低代码文化

低代码开发平台,是指无需编码或很少代码(No Code or Low Code)就可以快速生成应用程序的工具。这种平台通常提供可视化的设计工具,来快速搭建界面、设计数据模型、创建业务逻辑和工作流。...

osc_s7l03l2x
10分钟前
16
0
JNPF让你轻松点亮报表应用技能

引 言 随着数据时代的到来,数据来源越来越多样 (text,excel,monogdb,redis,es…),为报表数据准备带来了挑战,传统做法还是先将库外数据到数据库里,再利用数据库的计算能力(写 SQL 或存储...

osc_r9wwwi0j
12分钟前
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部