| |
| java集合类中几个鲜为人知的实用方法 |
| |
发布者: 发布时间:2006-12-28 |
|
|
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技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 减少对象的创建提高java性能 |
| 关于不可变类和可变类 |
| Java SE 6中应用程序的启动界面 |
| 对象的创建和销毁 |
| J2ee应用程序设计――多层框架 |
| 怎样设计框架 |
| |
| 最近评论: |
|
|
| 你曾悄悄的来过! |
| wow gold,wow gold,wow gold,ffxi gil max(566) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(3342) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(645) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(1175) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(1446) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(5158) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(5354) |
|
|
| 飞舞的传奇! |
| 传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(4011) |
|
|
| 回复:java集合类中几个鲜为人知的实用方法 |
| chi |
|
|
| 回复:java集合类中几个鲜为人知的实用方法 |
| bai |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|