更新时间:2020-10-29 17:28:40 来源:极悦 浏览1255次
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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习