`

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
分享到:
评论

相关推荐

    java list和xml互转例子

    本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...

    java List 深度复制方法

    在Java编程中,数据结构是程序设计的基础,而List接口作为集合框架的重要组成部分,常常用于存储有序的元素序列。当我们需要复制一个List时,可能会遇到浅复制和深复制的概念。浅复制只复制对象本身,而不复制它引用...

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    java 中如何从LIST 对象取值

    在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...

    关于Java中List对象的分页思想-按10个或者n个数对list进行分组

    在Java中, List对象的分页思想可以通过使用subList()方法来实现。subList()方法可以将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素。例如,以下代码将一个大的List对象分割成多个...

    java中list排序

    在 Java 中,对 List 排序可以使用 Collections.sort(list) 方法,但是这种方法只能对基本类型的 List 进行排序,如果 List 中包含的是对象,那么这种方法就不行了。这时需要使用Comparator接口来实现排序。 ...

    java获取list中两元素时间差

    Java 获取 List 中两元素时间差 Java 中获取 List 中两元素时间差是指在 List 集合中计算每个元素之间的时间差异。下面是相关知识点的详细解释: List 数据结构 List 是一种常见的数据结构,在 Java 中有多种实现...

    Java 实现泛型List

    Java 实现泛型List的源码,基本实现了List接口的全部所有方法。欢迎大家发表自己的观点和建议。

    java List 排序 Collections.sort

    在Java编程中,`List`接口是集合框架的重要组成部分,提供了有序的元素存储。当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行...

    java 数组转list list转数组 list数组互转

    java 数组转list list转数组 list数组互转 java8 代码示例

    java List中对象多属性排序及各属性排序设置

    在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...

    java list根据对象的某个属性的值去重

    java list根据对象的某个属性的值去重,java list根据对象的某个属性的值去重java list根据对象的某个属性的值去重

    java 处理Excel 带 List

    本文将深入探讨如何使用Java来处理Excel,并特别关注如何将List对象导出为Excel文件。 首先,我们需要一个库来操作Excel,Apache POI是一个广泛使用的开源Java API,专门用于读写Microsoft Office格式的文件,包括...

    java 使用Collections类对List的排序操作

    在实际开发中,我们还可以使用 Java 8 的流(Stream)API 对 `List` 进行排序,这种方式更加简洁和灵活。 ```java List&lt;Integer&gt; numbers = new ArrayList(Arrays.asList(1, 3, 2, 4)); numbers = numbers.stream()...

    Java对List多个排序、查询条件的处理

    在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...

    java中List对象列表实现去重或取出及排序的方法

    Java中List对象列表实现去重或取出及排序的方法 ...去重和排序List对象列表可以使用多种方法,包括重写equals和hashCode方法,使用HashSet,使用Java 8的Stream API等。根据实际情况选择合适的方法来实现。

    Java将2个List集合合并到一个List里面并排序工具类

    3、使用者可以通过调用`ListMerger.mergeAndSortLists()`方法,传入两个预先排序的List参数,得到一个合并后仍按时间顺序排列的新List。这在处理多组时间序列数据,需要整合并有序显示时非常有用。 4、当合并来自...

    javaList用法

    "javaList用法详解" Java 中的 List 用法是指在 Java 编程语言中使用 List 集合的方法和实现方式。List 集合是 Java 中的一种常用的集合类型,提供了许多实用的方法和实现类,下面将详细介绍 List 用法和实例。 ...

    java反射,获取所有属性、方法以及List集合类

    本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...

Global site tag (gtag.js) - Google Analytics