JAVA List用法

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);

  }

 }
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值