先看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文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...
在Java编程中,数据结构是程序设计的基础,而List接口作为集合框架的重要组成部分,常常用于存储有序的元素序列。当我们需要复制一个List时,可能会遇到浅复制和深复制的概念。浅复制只复制对象本身,而不复制它引用...
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
在Java中, List对象的分页思想可以通过使用subList()方法来实现。subList()方法可以将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素。例如,以下代码将一个大的List对象分割成多个...
在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...
在 Java 中,对 List 排序可以使用 Collections.sort(list) 方法,但是这种方法只能对基本类型的 List 进行排序,如果 List 中包含的是对象,那么这种方法就不行了。这时需要使用Comparator接口来实现排序。 ...
Java 实现泛型List的源码,基本实现了List接口的全部所有方法。欢迎大家发表自己的观点和建议。
Java 获取 List 中两元素时间差 Java 中获取 List 中两元素时间差是指在 List 集合中计算每个元素之间的时间差异。下面是相关知识点的详细解释: List 数据结构 List 是一种常见的数据结构,在 Java 中有多种实现...
在Java编程中,`List`接口是集合框架的重要组成部分,提供了有序的元素存储。当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
java 数组转list list转数组 list数组互转 java8 代码示例
java list根据对象的某个属性的值去重,java list根据对象的某个属性的值去重java list根据对象的某个属性的值去重
本文将深入探讨如何使用Java来处理Excel,并特别关注如何将List对象导出为Excel文件。 首先,我们需要一个库来操作Excel,Apache POI是一个广泛使用的开源Java API,专门用于读写Microsoft Office格式的文件,包括...
在实际开发中,我们还可以使用 Java 8 的流(Stream)API 对 `List` 进行排序,这种方式更加简洁和灵活。 ```java List<Integer> numbers = new ArrayList(Arrays.asList(1, 3, 2, 4)); numbers = numbers.stream()...
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
Java中List对象列表实现去重或取出及排序的方法 ...去重和排序List对象列表可以使用多种方法,包括重写equals和hashCode方法,使用HashSet,使用Java 8的Stream API等。根据实际情况选择合适的方法来实现。
"javaList用法详解" Java 中的 List 用法是指在 Java 编程语言中使用 List 集合的方法和实现方式。List 集合是 Java 中的一种常用的集合类型,提供了许多实用的方法和实现类,下面将详细介绍 List 用法和实例。 ...
java list 转换为json数据java list 转换为json数据java list 转换为json数据java list 转换为json数据java list 转换为json数据java list 转换为json数据java list 转换为json数据java list 转换为json数据java ...
而List是Java集合框架中的一个接口,主要用于存储一系列有序的对象。有时,我们需要将List对象转换为XML字符串,或者将XML数据解析为List对象。这个“java List XMl转换DEMO”就是用来演示这两个过程的实例。 首先...