`

java List的使用

 
阅读更多

先看List的继承关系图:

Collection

  ├List

  │├LinkedList

  │├ArrayList

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java JDK不能提供直接继承自Collection的类,Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。

List特点:元素有放入顺序,元素可重复

List<E>([]内的内容可省略),与数组类似:

实例化:List[<数据类型>] list = new ArrayList[<数据类型>]();

获得集合内元素个数:list.size();


添加元素:

默认添加:list.add(e);

指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);


删除元素:

返回是否删除:list.remove(e);

直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);


替换元素(替换掉指定下标的元素):list.set(index,e);


取出元素:list.get(index);


清空集合:list.clear();


判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);


对比两个集合中的所有元素:

两个对象一定相等:list.equals(list2);

两个对象不一定相等:list.hashCode() == list2.hashCode();

(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)


获得元素下标:

元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);

元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);


判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();


返回Iterator集合对象:list.iterator();


将集合转换为字符串:list.toString();


截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);


将集合转换为数组:

默认类型:list.toArray();

指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);

代码如下:

package com.wjy;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


/*
* list实质上就是一个链表,当标号为n的节点被删除了之后,n之后的节点会依次向前递推补齐,
* 以前标号为n+1的节点变成了标号为n的节点。以此类推。
*/
public class ListTest {
public static void main(String[] args) {
List list=new ArrayList();
list.add(0,"hello");
list.add(1,"world");
/*
* 上述两句话等价于 list.add("hello");
* list.add("world");
* 上述两句话若是按下面这样写会出错,因为List是有顺序的
* list.add(1,"world");
* list.add(0,"hello");
*/
list.add(2,"my");
list.add(3,"friend");
list.remove(2); //按照下标删除第三个元素。
/*
* 以上这句话等价于
* list.remove("my");
*/
list.set(2,"master");
/*
* 将那个下标为3,值为“friend”的元素替换成"master".
* 注意一定不能写成
* list.add(3,"master");
* 因为“friend”在list中的位置因为“my”被删除而从3变成了2。
*/

System.out.println("Get string is: "+list.get(0));
/*
* 以上这句话等价于以下两句话String
* string=(String)list.get(0); //获得list中第一个元素
* System.out.println("Get string is: "+string);
*/
// list.clear(); //这句话可以清空列表中的所有数据。
String liststringString=list.toString();
System.out.println("To string is: "+liststringString);
Iterator it=list.listIterator();
while(it.hasNext()){
Object object=it.next();
System.out.println(object);
}
}
}

运行结果:

Get string is: hello

To string is: [hello, world, master]

hello

world

master
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics