`
laorer
  • 浏览: 434466 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script> 

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);
  }
 }
}



分享到:
评论

相关推荐

    java集合类线程安全.doc

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

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等...

    JAVA中集合类一些常用类的总结

    本文将对Java中一些常用的集合类进行总结。 首先,ArrayList是List接口的一个实现,它允许我们在列表中按索引存取元素。在上述代码中,创建了一个ArrayList对象`list`并添加了不同类型的元素,包括字符串和自定义的...

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

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

    java的集合类教学

    理解这些基本数据结构有助于更好地理解和使用Java集合类。 总之,Java集合类提供了丰富的选择来满足不同场景下的数据存储需求,从无序不重复的Set到有序可重复的List,再到键值对的Map,都有对应的接口和实现类。...

    java集合类详解

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

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

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集...了解和掌握这些集合类的基本特性和使用方法,对于编写高效、可靠的Java应用程序至关重要。

    java集合类总结

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

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

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

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

    Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是如何实现的, 以及他们的实现原理...

    Java基础----集合类汇总

    Java集合框架还包含了一些工具类,如Collections和Arrays,它们提供了各种实用方法,如排序、复制、反转和查找集合中的特定元素。此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊...

    Java集合类图片

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

    java集合类

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

    Java集合类的特性

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

    Java集合类性能分析

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

    java集合使用大全

    迭代器其实就是从集合中取元素的方式:每个集合都有取元素的方法,但是取元素不足以用一个方法来描述,所以就将取元素封装成一个 Iterator 接口类。每个集合都有迭代器。迭代器其实就是集合的内部类(该类实现 ...

Global site tag (gtag.js) - Google Analytics