这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战
今天继续~
Iterator(迭代器)
- 它是一种访问集合的方法,可用于迭代
ArrayList
和HashSet
等集合 - 在使用迭代器的时候必须把它引入:
import java.util.Iterator;
复制代码
Iterator常用方法
next()
- 返回迭代器的下一个元素并更新迭代器状态hasNext()
- 判断是否还有下一个元素remove()
- 删除迭代器返回的元素
获取一个迭代器
- 可以使用
iterator()
方法
import java.util.ArrayList;
import java.util.Iterator;
public class Test{
public static void main(String[] args){
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.add("World");
Iterator<String> it = sites.iterator();
System.out.println(it.next());
}
}
复制代码
ps:使用iterator()
将sites放入迭代器,然后通过迭代器方法next()
来获取到ArrayList里面的值
循环输出元素
- 最简单的方法是while循环:
import java.util.ArrayList;
import java.util.Iterator;
public class Test{
public static void main(String[] args){
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.add("World");
Iterator<String> it = sites.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
复制代码
ps:通过判断是否存在下一个元素来作为while循环的条件,当没有下一个值的时候停止循环
删除元素
- 可以使用
remove()
方法
import java.util.ArrayList;
import java.util.Iterator;
public class Test{
public static void main(String[] args){
ArrayList<String> sites = new ArrayList<String>();
sites.add("Hello");
sites.add("World");
Iterator<String> it = sites.iterator();
while(it.hasNext()){
it.remove();
}
}
}
复制代码
Object类
- 它是所有类的父类,所有类都继承了Object
类的构造函数
- 构造一个新对象
类的方法
clone()
- 创建并返回一个对象的拷贝
equals(Object obj)
- 比较两个对象是否相等
finalize()
- 垃圾回收
getClass()
- 获取对象运行时的类
hashCode()
- 获取对象的哈希值
notify()
- 唤醒在该对象上等待的某个线程
notifyAll()
- 唤醒在该对象上等待的所有线程
toString()
- 返回对象的字符串形式
wait(long timeout,int nanos)
- 让当前线程进入等待状态(可设置超时时间)
ps:nanos为纳秒,范围是(0-999999)
泛型
- 泛型提供了编译时类型安全检测机制,允许程序员在编译时检测到非法类型
- 泛型的本质时参数化类型,数据类型被指定为一个参数
- 它可以让多种类型的数据使用同一种方法来执行
泛型方法
- 该方法在调用时可接收不同类型的参数,在执行的时候编译器会适当地处理每一个方法地调用
声明规则
- 所有泛型方法都有一个类型参数声明(尖括号形式
<E>
),声明在返回类型之前 - 可以有多个参数,参数之间用逗号隔开
泛型标记符
E
- ElementT
- TypeK
- KeyV
- ValueN
- Number?
- 不确定
public class Test{
// 泛型方法
public static <E> void Game(E[] play)
{
for(E element:play){
System.out.printf( "%s ", element );
}
System.out.println();
}
public static void main(String args[])
{
Integer[] intArray = {1,2,3,4,5};
Double[] doubleArray = {1.1,2.2,3.3,4.4};
Game(intArray);
Game(doubleArray);
}
}
复制代码
今天就学到这里吧,晚安~