List使用
测试例子:TestList
package ds.collections.lists;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
/**
* 测试List
* 基础,使用,用法
* @author Hust
* @Time 2011-11-7
*/
public class TestList {
//--ArrayList / LinkedList / Vector
public static void main(String[] args) {
//linkedlistTest();
//arrayListTest();
vectorTest();
}
/**
* vector
* 线程安全,
*/
public static void vectorTest(){
Vector<String> v = new Vector<String>();
v.addElement("v1");
v.addElement("v2");
v.add("v5");
System.out.println("当前容量"+v.capacity()); //10
System.out.println(v.contains("v2")); //true
System.out.println(v.size());//3
System.out.println(v.elementAt(0));
System.out.println(v.get(0));
System.out.println(v.firstElement());
System.out.println(v.lastElement());
System.out.println(v.indexOf("v5"));
System.out.println(v.set(1, "vSet"));
//遍历
for (Enumeration<String> e = v.elements(); e.hasMoreElements();)
System.out.println(e.nextElement());
//Enumeration<String> e = v.elements();
//遍历2
Iterator<String> it = v.iterator();
while (it.hasNext()) {
System.out.println( it.next());
}
}
/**
* ArrayList
* 基于数组,插入快,按照index读取快 删除或者无序插入慢
*/
public static void arrayListTest(){
//不是同步的: List list = Collections.synchronizedList(new ArrayList());
//基于数组,可在初始化时指定其大小,0.75
List<String> list = new ArrayList<String>(8);
list.add("a");
list.add("b");
list.add("c");
list.add("d");
//遍历
Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next() + " ");
}
System.out.println(list.get(1)+list.size()); // b 4
ArrayList<String> arrList = new ArrayList<String>(list);
@SuppressWarnings("unchecked")
ArrayList<String> arrList2 = (ArrayList<String>) arrList.clone();
arrList.set(2, "set2");
System.out.println(arrList.indexOf("set2")); //2
System.out.println(arrList2.indexOf("set2")); // -1
System.out.println(arrList.contains("set2")); //true
System.out.println(arrList2.contains("set2")); //false
//list.clear();
for(Iterator<String> iterator = arrList.iterator(); iterator.hasNext();) {
System.out.println(iterator.next() + " ");
}
list.clear(); //清空list
System.out.println(list.isEmpty()); //true
System.out.println(arrList.isEmpty()); //false
}
/**
* linkedList
* 基于链表,随机访问较慢,插入,删除快.可以当作堆栈、队列和双向队列使用
*/
public static void linkedlistTest() {
//部分代码借鉴于:http://jonsion.iteye.com/blog/422033
/***
* 实现不是同 步的,可:List list = Collections.synchronizedList(new LinkedList());
* add() addFirst()均在列表头插入元素 addAll
* add(index,value)在指定位置插入元素 addAll(index,values)
* addLast()在列表尾插入元素
*
*/
List<String> linkList = new LinkedList<String>();
for (int i = 0; i < 10; i++) { //添加
linkList.add(String.valueOf(i + 10));
}
linkList.add("1111"); //在List后再加一元素
System.out.println("遍历一:for (int i = 0; i < linkList.size(); i++) linkList.get(i)");
for (int i = 0; i < linkList.size(); i++) {
//System.out.println("linkList index " + linkList.get(i));
}
linkList.remove(0);//删除指定位置的元素,同数组,第一个元素下标为0
Iterator<String> iterator = linkList.iterator();
System.out.println("遍历二:Iterator<String> iterator = linkList.iterator(); iterator.next() ");
while (iterator.hasNext()) {
iterator.next();
//System.out.println("linkList Iterator " + iterator.next());
}
linkList.add(2, "1111"); //指定位置添加元素
System.out.println("遍历三:for (String tmpstr : linkList) tmpstr ");
for (String tmpstr : linkList) {
//System.out.println("linkList : " + tmpstr);
}
//直接拷贝得了
LinkedList<String> linkedlist = new LinkedList<String>(linkList);
linkedlist.addFirst("addFirst");//在LinkedList
System.out.println("list大小"+linkedlist.size());
System.out.println("是否包含元素"+linkedlist.contains("addFirst"));
System.out.println("取第一个元素值"+linkedlist.getFirst());
System.out.println("删除第一个元素其值为"+linkedlist.removeFirst());
System.out.println("取最后一个元素值"+linkedlist.getLast());
System.out.println("删除最后一个元素其值为"+linkedlist.removeLast());
System.out.println("设置指定位置元素的值"+linkedlist.set(2,"set2"));
System.out.println("元素出现的位置"+linkedlist.indexOf("set2"));//lastIndexOf
/**
* list大小12
是否包含元素true
取第一个元素值addFirst
删除第一个元素其值为addFirst
取最后一个元素值1111
删除最后一个元素其值为1111
设置指定位置元素的值1111
元素出现的位置2
*/
iterator = linkedlist.iterator();
while (iterator.hasNext()) {
System.out.println("linkedlist Iterator " + iterator.next());
}
}
}
分享到:
相关推荐
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...
在Java编程中,`List`接口是集合框架的重要组成部分,提供了有序的元素存储。当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
java list根据对象的某个属性的值去重,java list根据对象的某个属性的值去重java list根据对象的某个属性的值去重
在Java编程中,将List对象转换为Excel文件是一项常见的任务,尤其在数据处理和报告生成时。本项目“Java list转excel.zip”提供了一个解决方案,它涵盖了如何利用Java的库来实现这一转换的过程。以下是对这个主题的...
而List是Java集合框架中的一个接口,主要用于存储一系列有序的对象。有时,我们需要将List对象转换为XML字符串,或者将XML数据解析为List对象。这个“java List XMl转换DEMO”就是用来演示这两个过程的实例。 首先...
在Java编程语言中,数据结构的使用是至关重要的,其中包括List、Set和Array。这三种数据结构各有特点,适用于不同的场景。理解它们之间的相互转换能够帮助我们更好地管理和操作数据。以下将详细介绍Java中List、Set...
在Java编程中,数据结构是程序设计的基础,而List接口作为集合框架的重要组成部分,常常用于存储有序的元素序列。当我们需要复制一个List时,可能会遇到浅复制和深复制的概念。浅复制只复制对象本身,而不复制它引用...
java list<bean> date.class如果日期类型就改成这个 日期时间格式转换
"javaList用法详解" Java 中的 List 用法是指在 Java 编程语言中使用 List 集合的方法和实现方式。List 集合是 Java 中的一种常用的集合类型,提供了许多实用的方法和实现类,下面将详细介绍 List 用法和实例。 ...
在Java编程中,将List对象转换为JSON格式的数据是一个常见的需求,特别是在处理数据展示、存储或传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于解析的特性,被广泛应用于...
在Java编程中,`List`过滤是一个常见的任务,它涉及到集合操作和条件判断。当我们需要从一个`List`中筛选出满足特定条件的元素时,Java提供了多种方式来实现这一功能。这篇博客“java list 过滤”可能深入探讨了这些...
在Java编程语言中,`List`接口是集合框架的一个重要组成部分,它代表了一种有序的、可变大小的集合。`List`接口继承自`Collection`接口,它提供了额外的功能,比如按照索引访问元素、保持元素的顺序以及允许重复元素...
Java中List对象的分页思想-按10个或者n个数对list进行分组 Java中List对象的分页思想是一种常用的数据处理技术,通过将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素,例如10个或n...
在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...
Java List集合是Java编程语言中一个非常重要的数据结构,它属于集合框架的一部分,主要用于存储一组有序的、可重复的对象。List接口提供了许多方法,使得在处理列表数据时具有很高的灵活性和效率。在这个“Java List...
9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类....
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...