更新時間:2020-10-29 17:28:40 來源:動力節點 瀏覽1416次
Java接口是一系列方法的聲明,在Java中扮演著舉足輕重的角色,是我們學習Java的必修課。然而,初學Java接口的小伙伴還是不知道我們在實際學習中會用到哪些Java接口,本文就為小伙伴們介紹常用8個Java接口。
1.Iterable接口
package java.lang;
import java.util.Iterator;
// 返回一個迭代器
public interface Iterable {
Iterator iterator();
}
由接口代碼可見,Iterable的實現類必須能夠返回一個迭代器Iterator
迭代器是一個接口:一般使用場景是用一個(匿名)內部類實現該接口及相應的方法,使得可以訪問外部類的元素,比如說ArrayList。
2. Iterator接口
package java.util;
public interface Iterator {
boolean hasNext(); // 是否還有需要迭代的元素
E next(); // 返回需要下一個元素
void remove(); // 刪除最后next出來的元素
}
使用Iterator接口遍歷集合元素,Iterator接口是JAVA集合框架的成員,也被稱為迭代器。
Iterator接口中聲明了如下方法:
boolean hashNext():如果迭代的集合元素還沒被遍歷,則返回true
Object next():返回集合里下一個元素。
Void remove():刪除集合里上一次next方法返回的元素。
3.Collection接口
常用容器類所實現的List、Set接口都繼承自Collection接口,而Collection接口則繼承自Iterable,因此必須包含iterator()方法,并在該基礎上增加add()等容器類的方法,因此常見容器類如ArrayList等都可以使用foreach遍歷
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class ForEachCollections {
public static void main(String[] args) {
Collection cs = new ArrayList<>();
Collections.addAll(cs,
"Take the long way home".split(" "));
for(String s : cs) {
System.out.print("'" + s + "' ");
}
}
}
4.Comparable接口:
可以“自定義”排序規則
package java.lang;
import java.util.*;
public interface Comparable {
// 一般返回三種參數:負整數,0,正整數
public int compareTo(T o);
}
多用于排序算法,compareTo的返回結果的解釋與具體的排序實現有關,而JDK中提供的排序方法解釋為:A.compareTo(B)返回三種結果,負整數表示AB,0表示A=B
// 使用例子
import java.util.Arrays;
public class ComparableTest {
public static void main(String[] args) {
Integer[] a = new Integer[]{1,3,5,7,6,4,2}; // 將會自然排序,從小到大
MyInteger[] b = new MyInteger[a.length]; // 將會逆序,從大到小
for(int i = 0; i < a.length; i++) {
b[i] = new MyInteger((int)a[i]);
}
Arrays.sort(a);
Arrays.sort(b);
System.out.print("Sorted a: ");
for(int i =0;i
System.out.println();
System.out.print("Sorted b: ");
for(int i =0;i
}
}
5.Comparator接口
實現類本身就是一個比較器
package java.util;
public interface Comparator {
int compare(T o1, T o2); //比較兩個元素的大小
boolean equals(Object obj); // 比較兩個元素是否相等,T不一定是數字的類型,所以需要自己定義規則。
6.list接口
有序的集合,此接口的用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據元素的整數索引(在列表中的位置)訪問元素,并搜索列表中的元素。list與Set不同,list允許重復的元素插入。
7.Set接口
無序的集合,最多支持一個null值,不允許重復元素,沒有元素索引。set中的常用方法與collection中的一致,上面已經寫過。
8.Map接口
請注意,Map沒有繼承Collection接口,Map提供key到value的映射。一個Map中不能包含相同的key,每個key只能映射一個 value。
Map接口提供3種集合的視圖,Map的內容可以被當作一組key集合,一組value集合,或者一組key-value映射。
以上就是我為小伙伴們介紹的常用8個Java接口,只要掌握了他們基本上就能解決Java中的絕大部分Java接口問題。至于,這幾個Java接口的具體用法和說明可以觀看本站的Java接口教程,幫你快速掌握Java接口知識。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習