import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
//import java.awt.List;
import java.util.List; //当出现下面的错误时,是因为少了这句,多了上面注释的一句,请看仔细
//The type List is not generic; it cannot be parameterized with arguments <String>
public class TestList {
public static void main(String args[]){
List<String> l = new ArrayList<String>();// 利用ArrayList类实例化List集合
List<String> l2 = new LinkedList<String>();// 利用LinkedList类实例化List集合
//add(int index, Object obj)方法和set(int index, Object obj)方法的区别
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new LinkedList<String>(); //LinkedList 链式 相当于下表从0开始的
list.add(a); //add()方法
list.add(e);
list.add(d);
list.set(1, b); // 将索引位置为1的对象e修改为对象b
list.add(2, c); // 将对象c添加到索引位置为2的位置
Iterator<String> it = list.iterator(); //遍历时的方式*****方法1
while (it.hasNext()) {
System.out.println(it.next());
}
for(int i = 0; i < list.size(); i++) { //遍历时的方式*****方法2
System.out.println(list.get(i)); // 利用get(int index)方法获得指定索引位置的对象
}
//indexOf(Object obj)方法和lastIndexOf(Object obj)方法的区别
System.out.println("开始:");
String aa = "A", bb = "B", cc = "C", dd = "D", repeat = "Repeat";
List<String> list2 = new ArrayList<String>();
list2.add(aa); // 索引位置为 0
list2.add(repeat); // 索引位置为 1
list2.add(bb); // 索引位置为 2
list2.add(repeat); // 索引位置为 3
list2.add(cc); // 索引位置为 4
list2.add(repeat); // 索引位置为 5
list2.add(dd); // 索引位置为 6
System.out.println(list2.indexOf(repeat));
System.out.println(list2.lastIndexOf(repeat));
System.out.println(list2.indexOf(bb));
System.out.println(list2.lastIndexOf(bb));
System.out.println("结束!");
//subList(int fromIndex, int toIndex)方法
//在使用subList(int fromIndex, int toIndex)方法截取现有List集合中的部分对象生成新的List集合时,
//需要注意的是,新生成的集合中包含起始索引位置代表的对象,但是不包含终止索引位置代表的对象
// list a b c d e
list = list.subList(1, 3);// 利用从索引位置 1 到 3 的对象重新生成一个List集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
List list22 = new LinkedList();
list22 = list.subList(0,1); //b
list22.add(aa);
list22.add("zhang");
list22.add("guang"); //此时 list22 为 B A zhang guang
list22.set(0, a);
list22.set(1, b); //此时 list22 为 A B zhang guang
for (int i = 0; i < list22.size(); i++) {
System.out.println(list22.get(i));
}
System.out.println("*********************************");
List list33 = new LinkedList();
list33=list22.subList(1, 3);
list22.addAll(list33); //整体加list时要用addAll()方法
for (int i = 0; i < list22.size(); i++) {
System.out.print(list22.get(i)+"\t."); //get()方法
}
// list33.clear();
// for (int i = 0; i < list33.size(); i++) {
// System.out.println(list33.get(i));
// }
System.out.println(list22.contains(a)); // contains()方法
//System.out.println(list22.containsAll(list33)); // containsAll()方法
list22.remove(0);
for (int i = 0; i < list22.size(); i++) {
System.out.print(list22.get(i)+"\t."); //get()方法
}
System.out.println("\n"+list22.size()); //size()
Object[] str = list22.toArray(); //toArray()方法 为Object类型
for(int i=0;i<str.length;i++){
System.out.print(str[i]+"\t");
}
System.out.println("\n"+list22+"\t"); //请看直接输出的格式!!!!
//run:[B, zhang, guang, B, zhang]
//System.out.println(list33+"\t");
}
}
分享到:
相关推荐
本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...
集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等。Collection 接口没有实现类,因此需要通过其子接口来实现。 Set 是一个...
本篇文章将详细介绍如何在C#中实现下拉框与list集合的绑定,以及相关的控件绑定技巧。 首先,我们需要创建一个表示数据的对象类。在这个例子中,我们创建了一个名为`Area`的类,用于存储区域ID(AreaId)和区域名称...
7. **文档注释**:为了方便其他开发者使用你的自定义集合类,记得添加详细的Javadoc注释,说明类的用途、方法的参数和返回值等信息。 自定义集合类的一个例子是,你可能想要创建一个支持优先级排序的队列,这时可以...
本文将详细介绍6种初始化Java List集合的方法,并通过代码示例帮助理解每种方法的使用和特点。 1. 常规方式 这是最常见的初始化List的方式,通过创建ArrayList实例并逐个添加元素。自JDK 7以后,可以省略泛型类型的...
标题"**C# List集合分组WinForm把List分组**"涉及到的关键知识点是C#中的List集合以及如何利用Linq进行数据分组。在WinForm应用中,数据分组通常是为了更好地展示或操作数据,例如在控件如DataGridView中进行数据...
在IT行业中,尤其是在Android开发领域,"sp缓存list集合工具类"是一个常见的概念,它涉及到数据存储和优化。SP通常指的是SharedPreferences,这是一种轻量级的数据存储方式,用于保存应用程序中的简单键值对数据,如...
Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的...了解它们的特点和区别可以帮助我们更好地选择和使用集合类,提高程序的效率和可读性。
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...
本篇我们将深入探讨List集合,包括其特点、常用实现类、操作方法以及与数组的对比。 List接口的特点: 1. 有序性:List中的元素是有顺序的,每个元素都有一个索引,可以通过索引来访问元素。索引从0开始。 2. 可...
该工具类提供带范型的分页方法。你只要的创建该对象的时候把List传进去就可以,可以自己设置每页展示几条数据,方法上都有注释。如果还有不明白的欢迎给我留言。
通过研究压缩包中的"Collection"文件,你可以了解如何在实际场景中使用这些集合类,以及它们在不同情况下的性能表现。理解并熟练运用这些知识点对于Java开发者来说至关重要,能够提高代码质量和效率。
在Java编程中,数据结构是程序设计的基础,而List接口作为集合框架的重要组成部分,常常用于存储有序的元素序列。当我们需要复制一个List时,可能会遇到浅复制和深复制的概念。浅复制只复制对象本身,而不复制它引用...
它不支持直接存储自定义对象,包括集合类如List。 要将List存储到SharedPreferences,我们需要序列化(serialize)List为字符串,然后在需要时反序列化(deserialize)回List。一种常见的序列化方法是JSON。JSON是...
Java 中 List 集合及其实现类的方法详解 List 集合是 Java 中最基本的集合类型之一,它提供了许多方法来操作和管理集合中的元素。在 Java 中,List 集合有多种实现类,例如 ArrayList、LinkedList、Vector 等,每种...
而Arrays类中的asList()方法则可以将数组转换为固定大小的List集合,这个List的大小是不可变的,但可以通过set()方法修改其中元素的值。 对于集合类的迭代,每个集合类都应该提供一个迭代器(Iterator)实例,通过...
在给定的标题“dotnet-使用Linq筛选满足数组条件的List集合”中,我们主要关注如何利用Linq对List集合进行筛选,特别是基于某个数组条件。描述“Linq_List_Contrast_Baseon_Array 使用Linq筛选满足数组条件的List...
在Java开发中,处理JSON数据是一项常见的任务,特别是在与服务器进行数据交互时。...注意,为了支持多层List集合,我们需要确保所有相关的Java类都有对应的getter和setter方法,以便转换过程能够正确地填充对象的属性。
@Validated验证List集合的方法示例 在实际开发中,我们经常会遇到需要验证List集合的场景,而@...我们可以通过自定义ValidList类来实现@Validated验证List集合的方法,解决了@Validated注解只能验证单个实体类的限制。