博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA: List用法
阅读量:4649 次
发布时间:2019-06-09

本文共 2931 字,大约阅读时间需要 9 分钟。

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
}

转载于:https://www.cnblogs.com/chengbao/p/4531899.html

你可能感兴趣的文章
Web.py Cookbook 简体中文版 - 保存上传的文件
查看>>
MongoDB学习笔记二—Shell操作
查看>>
Hibernate之二级缓存
查看>>
.NET Oracle连接方法
查看>>
浅谈数据库的完整性
查看>>
OSPF协议介绍及配置 (下)
查看>>
3. 从零开始学CSRF
查看>>
《剑指offer》-逐层打印二叉树
查看>>
Shell脚本之grep
查看>>
使用html+css+js实现3D相册
查看>>
python 爬虫
查看>>
某些小技巧的技术分享
查看>>
关于git远程版本库的一些问题之解决
查看>>
继承、多态、接口
查看>>
高等代数中的名词解析-No1
查看>>
膨胀的木棍
查看>>
Python -- sys模块
查看>>
LOJ3119 CTS2019 随机立方体 概率、容斥、二项式反演
查看>>
ASP.NET Core Api网关Ocelot的中文文档
查看>>
做进度条
查看>>