`
gongstring
  • 浏览: 590040 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java集合类中几个鲜为人知的实用方法

    博客分类:
  • Java
阅读更多
1。list方法。   将 Enumeration 类型转换成list类型

2。swap方法。方便的调换一个list中的两个元素的位置。

3。lastIndexOfSubList方法。从一个list中从后面开始查找另外一个list第一次出现的位置。

4。rotate方法。在一个list中,顺序移动每一个元素的位置到指定的位置。

5。replaceAll方法。用指定的元素替换一个list中所用匹配的元素。

6。indexOfSubList方法。从一个list中从前面开始查找另外一个list第一次出现的位置。

示例程序:

import java.util.*;

class TestCollections {

public static void main(String[] args) {
  TestCollections t = new  TestCollections();
  t.testList();
}
public void testList() {
  Vector v = new Vector();
  v.add("a");
  v.add("b");
  Enumeration e = v.elements() ;
  List l = Collections.list(e);
  System.out.println(l);
}

public void testSwap() {
  List l = new ArrayList();
  l.add("t");
  l.add("a");
  l.add("n");
  l.add("k");
  l.add("s");
  System.out.println(l);
  Collections.swap(l,1,3);
  System.out.println(l);
}

public void testLastIndexOfSubList() {
  List l = new ArrayList();
  l.add("a");
  l.add("b");
  l.add("c");
  l.add("d");
  l.add("e");
  l.add("a");
  l.add("b");
  l.add("c");
  l.add("d");
  l.add("e");
  List l2 = new ArrayList();
  l2.add("b");
  l2.add("c");
  l2.add("d");
  int result = Collections.lastIndexOfSubList(l,l2);
  if(result != -1) {
   System.out.println("!!! " + result + ". Found from " + l + " with " + l2);
  } else {
   System.out.println("!!! Not found from " + l + " with " + l2);
  }
  List l3 = new ArrayList();
  l3.add("b");
  l3.add("d");
  l3.add("d");
  result = Collections.lastIndexOfSubList(l,l3);
  if(result != -1) {
   System.out.println("!!! " + result + ". Found from " + l + " with " + l3);
  } else {
   System.out.println("!!! Not found from " + l + " with " + l3);
  }
}

public void testRotate() {
  List l = new ArrayList();
  l.add("t");
  l.add("a");
  l.add("n");
  l.add("k");
  l.add("s");
  System.out.println(l);
  Collections.rotate(l,1);
  System.out.println(l);
 
  //
   l = new ArrayList();
  l.add("t");
  l.add("a");
  l.add("n");
  l.add("k");
  l.add("s");
  System.out.println(l);
  Collections.rotate(l,-4);
  System.out.println(l);
 
   l = new ArrayList();
  l.add("a");
  l.add("b");
  l.add("c");
  l.add("d");
  l.add("e");
  System.out.println(l);
  Collections.rotate(l.subList(1, 4), -1);
  System.out.println(l);

 
}

public void testReplaceAll() {
  List l = new ArrayList();
  l.add("t");
  l.add("a");
  l.add("n");
  l.add("a");
  l.add("s");
  System.out.println(l);
  boolean b = Collections.replaceAll(l,"a","hello");
  System.out.println(l);
  System.out.println(b);
 
  // not found
  b = Collections.replaceAll(l,"a","hello");
  System.out.println(b);
 
}

public void testIndexOfSubList() {
  List l = new ArrayList();
  l.add("a");
  l.add("b");
  l.add("c");
  l.add("d");
  l.add("e");
  List l2 = new ArrayList();
  l2.add("b");
  l2.add("c");
  l2.add("d");
  int result = Collections.indexOfSubList(l,l2);
  if(result != -1) {
   System.out.println("!!! " + result + ". Found from " + l + " with " + l2);
  } else {
   System.out.println("!!! Not found from " + l + " with " + l2);
  }
  List l3 = new ArrayList();
  l3.add("b");
  l3.add("d");
  l3.add("d");
  result = Collections.indexOfSubList(l,l3);
  if(result != -1) {
   System.out.println("!!! " + result + ". Found from " + l + " with " + l3);
  } else {
   System.out.println("!!! Not found from " + l + " with " + l3);
  }
}
}

运行结果:
C:\java>java TestCollections
[a, b]
[t, a, n, k, s]
[t, k, n, a, s]
!!! 6. Found from [a, b, c, d, e, a, b, c, d, e] with [b, c, d]
!!! Not found from [a, b, c, d, e, a, b, c, d, e] with [b, d, d]
[t, a, n, k, s]
[s, t, a, n, k]
[t, a, n, k, s]
[s, t, a, n, k]
[a, b, c, d, e]
[a, c, d, b, e]
[t, a, n, a, s]
[t, hello, n, hello, s]
true
false
!!! 1. Found from [a, b, c, d, e] with [b, c, d]
!!! Not found from [a, b, c, d, e] with [b, d, d]

分享到:
评论

相关推荐

    java集合类线程安全.doc

    算法是指可以对实现集合接口的类进行一些实用计算的方法,比如排序和查找。 Java 集合框架的接口层次和通用实现如下: 图 1 Java 集合框架的接口层次 接口通用实现 集合哈希集合、树集合和链接哈希集合 列表数组...

    java自定义集合类

    7. **文档注释**:为了方便其他开发者使用你的自定义集合类,记得添加详细的Javadoc注释,说明类的用途、方法的参数和返回值等信息。 自定义集合类的一个例子是,你可能想要创建一个支持优先级排序的队列,这时可以...

    Java集合排序及java集合类详解.pdf

    Java集合排序及java集合类详解.pdf

    java集合类详解

    Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...

    第13讲 JAVA集合类.ppt

    此外,Collections Framework还提供了一些实用工具类,如`Collections`类,它包含了许多静态方法,用于对集合进行操作,如排序、填充、查找和转换等。还有`Iterator`接口,用于遍历集合中的元素,而不需要知道底层的...

    java集合类总结

    Java集合框架是Java编程语言中一个非常核心的部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理对象。在Java中,集合主要分为两大类:Collection和Map。本文将对Java集合框架中的Collection接口...

    Java集合排序及java集合类详解

    Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的接口和类。在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java...

    java集合类学习笔记.doc

    理解和掌握这些接口对于高效使用Java集合至关重要。 - **Collection接口**:这是集合框架的核心接口,它定义了一组通用的操作,如添加、删除、查找等。 - **List接口**:继承自Collection,提供有序且可重复的元素...

    java集合类演示源码

    Java平台提供了一个全新的集合框架,框架的核心为Collection、List(列表)、Set(集合)和Map(映射)。集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代...

    Java集合类性能分析

    Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java集合框架中有六种主要的集合接口,它们分别是`...

    Java集合类图片

    Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。

    一张图让你看清Java集合类

    一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!

    java集合类

    对象数组中包含一组对象,但是对象数组使用的时候存在一个长度的限制,那么集合是专门解决这种限制的,使用集合可以方便的向数组中增加任意多个数据。 集合类使用初始容量和加载因子调整自己的大小。集合类全部支持...

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

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

    对于java集合类的一个简单介绍

    Set接口是Java集合类中另一个基本的接口,提供了基本的添加、删除、检查元素是否存在的方法。HashSet和TreeSet是Set接口的两个常用的实现类。HashSet是一个散列集合,提供了快速的添加和删除元素的能力。TreeSet是一...

    Java集合类矩阵图

    Java集合类矩阵图是Java编程中非常重要的一个概念,它主要涵盖了Java集合框架中的各种接口、类以及它们之间的关系。这个矩阵图可以帮助开发者更清晰地理解Java集合框架的层次结构和实现方式。在这个矩阵图中,你可以...

    java集合类的代码

    Java集合类是Java编程语言中一个非常重要的概念,它提供了数据结构和算法的实现,使得在处理一组对象时更加高效和灵活。Java集合框架包括接口(如List、Set、Queue等)和实现这些接口的类(如ArrayList、HashSet、...

    Java集合类的特性

    关于Java的集合类面试问题和并发包的几个集合类比较,面试的同学可以看看

    java集合分类总结.doc

    Arrays和Collections是Java集合中的两个工具类。Arrays类包含用来操作数组的各种方法,如排序和搜索等。Collections类主要提供了在collection上进行操作的方法,如排序、查找等。 学习Java集合需要掌握以下几个方面...

    java基本集合类,java基本集合类

    Java集合框架是Java编程语言中的一个重要组成部分,它提供了多种数据结构,如列表、队列、集、映射等,方便程序员存储和...理解这些基本集合类的特性和工作原理,可以帮助我们更有效地使用Java集合框架来解决实际问题。

Global site tag (gtag.js) - Google Analytics