java list用法

JAVA List用法php

1.List中能够添加任何对象,包括本身定义的类。java

//定义一个Person类数组

class Person{数据结构

……spa

}线程

Person person1 = new Person();orm

Person person2 = new Person();对象

List list = new ArrayList();索引

//添加对象接口

list.add(person1);

list.add(person2);

//取对象

Person person3 = (Person)list.get(0);//注意:这里必定要强制类型转换,由于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(实现堆栈)。


1.java.util.ArrayList类

java.util.ArrayList类实现一个可增加的动态数组,平时用得最多的就是add()方法。使用该方法向集合内添加对象,而且这些对象按照必定的顺序排列,内部原理是数组实现的,所以处理数据量很大时,不建议使用。

List a = new ArrayList();

a.add("a");

a.add("b");

a.add("c");

//使用Iterator迭代器遍历出集合的元素并打印

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

2.java.util.Vector(向量)类

java.util.Vector类与ArrayList相似的也是实现一个动态数组,该向量能够随意的增加以及存放等多的对象。

List a = new Vector();

a.add("a");

a.add("b");

a.add("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

3.java.util.LinkedList类实现链表

能够初始化为空或者已经存在的集合,一般使用如下方法:

add();向链表末尾添加对象

addFirst();在链表开头添加对象

addLast();在链表末尾添加对象--这个和add()同样
getFirst();获得链表开头的对象

getLast();获得链表末尾的对象

注意:该类提供了随机访问列表中的元素的方法.

LinkedList a = new LinkedList();

a.add("a");

a.add("b");

a.add("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

4. java.util.Stack类实现了堆栈数据结构,即按照先进后出的原则存放数据,建立时只能为空,使用push()方法进行添加对象。

Stack a = new Stack();

a.push("a");

a.push("b");

a.push("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}



java list用法示例详解

  1. List:元素是有序的(怎么存的就怎么取,顺序不会乱),元素能够重复。

  2. ArrayList:底层的数据结构使用的是数组结构,特色是查询很快,但增删较慢,线程不一样步。

  3. LinkedList:底层的数据结构是链表结构,特色是查询慢,增删较快。

  4. Vector:底层是数组数据结构,线程同步,不管查询仍是增删都很慢,被ArrayList替代了

ArrayList删除指定位置的元素

ArrayList a = new ArrayList();

a.add("javaScript");

a.add("php");

a.add("flash");

//删除第2个位置的元素

a.remove(1);

ArrayList修改指定角标的元素 set(int index,E element),返回的是修改的那个元素

a.set(2,"C++");

ArrayList查找指定位置的元素

get(int index) 返回列表中指定位置的元素

subList(int fromIndex,int toIndex) 返回列表中指定的fromIndex(包括)和toIndex(不包括)之间的部分元素

System.out.println(a.get(2)); //获取指定角标的元素,能够用该方法遍历集合中全部的元素。

System.out.println(a.subList(1,3)); // 得到集合中某一部分的元素,包含头不包含尾

java迭代器的使用

ListIterator li = a.listIterator();

while(li.hasNext())

{

    if(li.next().equals("C++"))  // 这句是java里面的字符串比  

         li.set("C#");

相关文章
相关标签/搜索