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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值