java arraycollection_Java集合(三)--Collection、Collections和Arrays
Collection:
Collection是集合類的頂級(jí)接口,提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法。Collection接口的意義是為各種具體的集合提供了最大化
的統(tǒng)一操作方式,其直接繼承接口有List與Set。
public interface Collection extends Iterable {
int size(); //集合的容量
boolean isEmpty(); //是否為空
boolean contains(Object var1); //是否包含某個(gè)元素
Iterator iterator(); //返回迭代器,進(jìn)行數(shù)據(jù)迭代
Object[] toArray(); //轉(zhuǎn)換為Object數(shù)組
T[] toArray(T[] var1); //將list轉(zhuǎn)換為所需要類型的數(shù)組
boolean add(E var1); //添加元素
boolean remove(Object var1); //去除元素
boolean containsAll(Collection> var1); //是否包含某個(gè)集合內(nèi)所有的元素
boolean addAll(Collection extends E> var1); //添加一個(gè)集合
boolean removeAll(Collection> var1); //刪除一個(gè)集合的元素
boolean retainAll(Collection> var1); //取交集
void clear(); //清空集合
boolean equals(Object var1); //比較
int hashCode(); //hash碼
}
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
System.out.println("list size: " + list.size());
System.out.println("list isEmpty: " + list.isEmpty());
System.out.println("list iscontains: " + list.contains(1));
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println("list.iterator(): " + iterator.next());
}
Object[] integers = list.toArray();
for (Object o : integers) {
System.out.println("list.toArray(): " + o);
}
list.add(1, 7);
list.remove(1);
System.out.println(list.containsAll(Arrays.asList(2, 1, 3)));
System.out.println(list.toString());
System.out.println(list.retainAll(Arrays.asList(2, 11, 13)));
System.out.println("交集:" + list.toString());
list.clear();
System.out.println("清空集合:" + list.toString());
}
結(jié)果:
list size: 3
list isEmpty: false
list iscontains: true
list.iterator(): 2
list.iterator(): 1
list.iterator(): 3
list.toArray(): 2
list.toArray(): 1
list.toArray(): 3
true
[2, 1, 3]
true
交集:[2]
清空集合:[]
Collections:
Collections是集合的工具類,包含很多靜態(tài)方法,用于對(duì)集合的各種操作
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
list.add(5);
list.add(4);
System.out.println("排序前:" + list);
Collections.sort(list);
System.out.println("排序后:" + list);
Collections.shuffle(list);
System.out.println("打亂排序:" + list);
Collections.reverse(list);
System.out.println("倒序排序:" + list);
List list1 = Arrays.asList(12, 1, 5, 8, 9, 6, 7);
Collections.copy(list1, list);
System.out.println("復(fù)制集合list1的元素:" + list1);
System.out.println("集合最大值:" + Collections.max(list));
System.out.println("集合最小值:" + Collections.min(list));
Collections.fill(list, 100);
System.out.println("list中元素替換成:" + list);
}
結(jié)果:
排序前:[2, 1, 3, 5, 4]
排序后:[1, 2, 3, 4, 5]
打亂排序:[4, 3, 5, 1, 2]
倒序排序:[2, 1, 5, 3, 4]
復(fù)制集合list1的元素:[2, 1, 5, 3, 4, 6, 7]
集合最大值:5
集合最小值:1
list中元素替換成:[100, 100, 100, 100, 100]
常用方法:
sort():將集合內(nèi)元素升序進(jìn)行排序,被排序的集合必須實(shí)現(xiàn)Comparable接口,否則會(huì)出現(xiàn)異常
shuffle(): 打亂集合內(nèi)元素可能存在的排序
Reverse(): 將集合內(nèi)元素按倒序進(jìn)行排序,不是降序,這個(gè)要注意
copy(): Collections.copy(targetList,sourceList),targetList至少與sourceList一樣長(zhǎng),否則會(huì)報(bào)異常。如果更長(zhǎng),targetList中剩余元素
不受影響
min(): 集合中最小值
max(): 集合中最大值
Fill():?將集合的元素全部替換為指定元素
Arrays:
Arrays是數(shù)組的工具類,包含很多靜態(tài)方法,用于對(duì)集合的各種操作
public static void main(String[] args) {
Integer[] integers = new Integer[] {1, 3, 9, 2, 4, 88};
System.out.print("排序前:");
for (Integer integer : integers) {
System.out.print(integer + " ");
}
Arrays.sort(integers);
System.out.println("");
System.out.print("排序后:");
for (Integer integer : integers) {
System.out.print(integer + " ");
}
Integer[] integers1 = new Integer[] {1, 3, 9, 2, 4, 88};
Arrays.sort(integers1, 0, 4);
System.out.println("");
System.out.print("0-4之間進(jìn)行排序后:");
for (Integer integer : integers1) {
System.out.print(integer + " ");
}
List list = Arrays.asList(1, 2, 3, 4, 5);
String s = Arrays.toString(integers);
System.out.println("");
System.out.println("數(shù)組integers轉(zhuǎn)換成String:" + s);
String s1 = Arrays.deepToString(integers);
System.out.println("數(shù)組integers轉(zhuǎn)換成String:" + s1);
Integer[][] integers2 = new Integer[][] {{1, 3, 9},{ 2, 4, 88}};
String s2 = Arrays.toString(integers2);
System.out.println("數(shù)組integers轉(zhuǎn)換成String:" + s2);
String s3 = Arrays.deepToString(integers2);
System.out.println("數(shù)組integers轉(zhuǎn)換成String:" + s3);
System.out.println("元素9的位置:" + Arrays.binarySearch(integers, 9));
Integer[] integers3 = Arrays.copyOf(integers, 12);
System.out.print("復(fù)制后的集合元素:");
for (Integer integer : integers3) {
System.out.print(integer + " ");
}
Arrays.fill(integers, 2);
System.out.print("將集合元素全部替換成2:");
for (Integer integer : integers) {
System.out.print(integer + " ");
}
Integer[] integers4 = Arrays.copyOfRange(integers3, 0, 4);
System.out.println("");
System.out.print("只復(fù)制0-4區(qū)間的集合元素:");
for (Integer integer : integers4) {
System.out.print(integer + " ");
}
}
結(jié)果:
排序前:1 3 9 2 4 88
排序后:1 2 3 4 9 88
0-4之間進(jìn)行排序后:1 2 3 9 4 88
數(shù)組integers轉(zhuǎn)換成String:[1, 2, 3, 4, 9, 88]
數(shù)組integers轉(zhuǎn)換成String:[1, 2, 3, 4, 9, 88]
數(shù)組integers轉(zhuǎn)換成String:[[Ljava.lang.Integer;@1be6f5c3, [Ljava.lang.Integer;@6b884d57]
數(shù)組integers轉(zhuǎn)換成String:[[1, 3, 9], [2, 4, 88]]
元素9的位置:4
復(fù)制后的集合元素:1 2 3 4 9 88 null null null null null null 將集合元素全部替換成2:2 2 2 2 2 2
只復(fù)制0-4區(qū)間的集合元素:1 2 3 4
sort(T[]):將數(shù)組內(nèi)元素升序進(jìn)行排序
sort(T[], fromIndex, toIndex):將數(shù)組內(nèi)部分元素區(qū)間升序進(jìn)行排序,從fromIndex到toIndex,左開右閉
toString():將一維數(shù)組轉(zhuǎn)為String,無(wú)法將多維數(shù)組元素轉(zhuǎn)換成String
deepToString():將多維數(shù)組轉(zhuǎn)為String,也可以轉(zhuǎn)換一維數(shù)組
copyof(T[], newLength):復(fù)制數(shù)組元素到新的數(shù)組,重新定義新數(shù)組的長(zhǎng)度
copyOfRange(T[], from, to):復(fù)制部分?jǐn)?shù)組元素到新的數(shù)組,重新定義新數(shù)組的長(zhǎng)度to-from
fill():?將數(shù)組的元素全部替換為指定元素
總結(jié)
以上是生活随笔為你收集整理的java arraycollection_Java集合(三)--Collection、Collections和Arrays的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 重疾险包括白血病吗
- 下一篇: 微信的微众银行在哪里