发布于2021-06-12 12:39 阅读(741) 评论(0) 点赞(21) 收藏(1)
迭代器是接口,被其他集合实现用来遍历。
ArrayList<Integer> sites = new ArrayList<>();
sites.add(10);
sites.add(23);
sites.add(34);
Iterator<Integer> iterator = sites.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
10
23
34
ListIterator 的 previousIndex() 返回后序调用 previous() 的索引,在表头就返回-1;
add() 的作用是当前位置插入元素,后移一步。
System.out.println("依次打印集合所有元素------------------------");
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("当前集合还有下一个元素么?="+it.hasNext());
// add() 往当前位置插入一个值,然后向后跳一步,需要用previous()
// 才能看到该新插入的值。
it.add(999);
System.out.println("在集合当前位置插入一个元素后向后走------------------------");
System.out.println("上一个元素:"+it.previous());
System.out.println("当前集合还有下一个元素么?="+it.hasNext());
System.out.println("下一个元素:"+it.next());
System.out.println("当前集合还有下一个元素么?="+it.hasNext());
result:
依次打印集合所有元素------------------------
10
23
34
当前集合还有下一个元素么?=false
在集合当前位置插入一个元素后向后走------------------------
上一个元素:999
当前集合还有下一个元素么?=true
下一个元素:999
当前集合还有下一个元素么?=false
set() 是用指定的元素替换最近返回的元素,位置不发生改变。
System.out.println("向后依次打印集合所有元素------------------------");
while (it.hasNext()) {
System.out.println(it.next());
}
it.set(999);
System.out.println("当前集合还有下一个元素么?="+it.hasNext());
// System.out.println("当前集合的上一个元素是"+it.previous());
System.out.println("向前依次打印集合所有元素------------------------");
while (it.hasPrevious()) {
System.out.println(it.previous());
}
it.set(888);
System.out.println("向后依次打印集合所有元素------------------------");
while (it.hasNext()) {
System.out.println(it.next());
}
result
向后依次打印集合所有元素------------------------
10
23
34
当前集合还有下一个元素么?=false
向前依次打印集合所有元素------------------------
999
23
10
向后依次打印集合所有元素------------------------
888
23
999
Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。
package test;
/**
* @Description: TODO
* @author: HardyDragon
* @date: 2021年06月10日 17:04
*/
public class Test07 {
public static void main(String[] args) {
User user = new User();
user.name = "Tom";
user.age = 18;
System.out.println(user.name);
System.out.println(user.age);
// 由于 Object 本身没有实现 Cloneable 接口,
// 所以不重写 clone 方法并且进行调用的话会发生 CloneNotSupportedException 异常。
try {
User clone = (User)user.clone();
System.out.println(clone.name);
System.out.println(clone.age);
} catch (Exception e) {
System.out.println(e);
}
}
}
// 类需要实现 Cloneable 接口才能使用clone方法
class User extends Object implements Cloneable{
String name;
int age;
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
result
Tom
18
Tom
18
equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等
notify() 和notifyAll() 和线程相关。唤醒在该对象上等待的某个线程/所有线程
wait() 让当前线程进入等待状态。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
wait() 还可以设置超时参数和额外时间参数。。
作者:niceboty
链接:http://www.javaheidong.com/blog/article/221866/e1826397e074f3afeda2/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!