代码摘自《thinking in java》4td
此实例非常好的总结了Collections的一些常见方法的使用。
package
countainers;
import java.util.*
;
import
static net.mindview.util.Print.*
;
public
class
Utilities {
static List<String> list =
Arrays.asList(
"one Two three Four five six one".split(" "
));
public
static
void
main(String[] args) {
print(list);
print("'list' disjoint (Four)?: " +
Collections.disjoint(list,
Collections.singletonList("Four"
)));
print("max: " +
Collections.max(list));
print("min: " +
Collections.min(list));
print("max w/ comparator: " +
Collections.max(list,
String.CASE_INSENSITIVE_ORDER));
print("min w/ comparator: " +
Collections.min(list,
String.CASE_INSENSITIVE_ORDER));
List<String> sublist =
Arrays.asList("Four five six".split(" "
));
print("indexOfSubList: " +
Collections.indexOfSubList(list, sublist));
print("lastIndexOfSubList: " +
Collections.lastIndexOfSubList(list, sublist));
Collections.replaceAll(list,"one", "Yo"
);
print("replaceAll: " +
list);
Collections.reverse(list);
print("reverse: " +
list);
Collections.rotate(list,3
);
print("rotate: " +
list);
List<String> source =
Arrays.asList("in the matrix".split(" "
));
Collections.copy(list, source);
print("copy: " +
list);
Collections.swap(list,0, list.size() - 1
);
print("swap: " +
list);
Collections.shuffle(list,
new Random(47
));
print("shuffled: " +
list);
Collections.fill(list,"pop"
);
print("fill: " +
list);
print("frequency of 'pop': " +
Collections.frequency(list,"pop"
));
List<String> dups = Collections.nCopies(3, "snap"
);
print("dups: " +
dups);
print("'list' disjoint 'dups'?: " +
Collections.disjoint(list, dups));
//
Getting an old-style Enumeration:
Enumeration<String> e =
Collections.enumeration(dups);
Vector<String> v =
new Vector<String>
();
while
(e.hasMoreElements())
v.addElement(e.nextElement());
//
Converting an old-style Vector
//
to a List via an Enumeration:
ArrayList<String> arrayList =
Collections.list(v.elements());
print("arrayList: " +
arrayList);
}
}
output:
[one, two, three, four, five, six, one]
'list' disjoint (Four)?: true
max: two
min: five
max w/ comparator: two
min w/ comparator: five
indexOfSubList: -1
lastIndexOfSubList: -1
replaceAll: [Yo, two, three, four, five, six, Yo]
reverse: [Yo, six, five, four, three, two, Yo]
rotate: [three, two, Yo, Yo, six, five, four]
copy: [in, the, matrix, Yo, six, five, four]
swap: [four, the, matrix, Yo, six, five, in]
shuffled: [six, matrix, the, four, Yo, five, in]
fill: [pop, pop, pop, pop, pop, pop, pop]
frequency of 'pop': 7
dups: [snap, snap, snap]
'list' disjoint 'dups'?: true
arrayList: [snap, snap, snap]