迭代器遍历
package AA;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CC {
@SuppressWarnings({"all"})
public static void main(String[] args) {
Collection col = new ArrayList();
col.add(new Book("uygtfu", "ujtg", 65));
col.add(new Book("uygtfu", "ujtg", 65));
col.add(new Book("uygtfu", "ujtg", 65));
//1.先得到col对应的迭代器
Iterator iterator = col.iterator();
//2.使用while循环遍历
// while (iterator.hasNext()){//判断是否还有数据
// //obj编译类型是Object,运行类型看上面Book后面的这些
// Object obj = iterator.next();
// System.out.println(obj);
// }
//快捷键 itit
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println(obj);
}
//显示所有快捷键的快捷键 ctrl + j
//3. 当退出while循环屈,这时 iterator迭代器,指向最后的元素
//4. 如果希望再次遍历,需要重置我们的迭代器
iterator = col.iterator();//重置
System.out.println("第二次遍历");
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println(obj);
}
}
}
class Book {
//属性
//构造器
//getter setter方法
//toString
}
}
增强for循环,可以代替iterator迭代器
//1.使用增强for 在Collection集合
//2. 增强for, 底层仍然是迭代器 debug一下看
//3.增强for可以理解成就是简化版本的迭代器遍历
for(Object book : col){
System.out.println(book);
}
//增强for也可以在数组使用
int[] nums = {1,3,5,67,8,98};
for(int i : nums){
System.out.println(i);
}
List接口和常用方法
package AA.list;
import java.util.ArrayList;
import java.util.List;
public class LIst_ {
@SuppressWarnings({"all"})//这个拿来清除障碍的,看着好看点
public static void main(String[] args) {
//1.List集合 类中元素有序(即添加顺序和取出顺序一致)、且可重复
List list = new ArrayList();
list.add("jhyg");
list.add("uyf");
list.add("uyjgt");
list.add("uyjgt");
list.add("uyjgt");
System.out.println(list);
//2. List集合中的每个元素都有其对应的顺序索引,即支持索引
//索引是从0开始的
System.out.println(list.get(3));
}
}
eg.
练习题: 使用List的实现类添加几本书 遍历 使用冒泡排序
package AA.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@SuppressWarnings({"all"})//这个拿来清除障碍的,看着好看点
public class LIst_ {
public static void main(String[] args) {
//1.List集合 类中元素有序(即添加顺序和取出顺序一致)、且可重复
List list = new ArrayList();//LinkdeList,Vector都行
list.add(new AA("huy", 64, "yjg"));
list.add(new AA("huy", 543, "yjg"));
list.add(new AA("huy", 432, "yjg"));
list.add(new AA("huy", 41, "yjg"));
list.add(new AA("huy", 43, "yjg"));
System.out.println("排序前");
//迭代器遍历
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println(obj);
}
//调用方法
sort(list);
System.out.println("排序后");
//增强for遍历
for (Object o : list) {
System.out.println(o);
}
}
//冒泡排序静态方法
public static void sort(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0; j < list.size() - 1 - i; j++) {
//取出对象AA
//向下转型
//子类类型 引用名 = (子类类型) 父类引用
AA o = (AA) list.get(j);
AA o1 = (AA) list.get(j + 1);
if (o.getSalary() > o1.getSalary()) {//前大于后
list.set(j, o1);//前与后替换
list.set(j + 1, o);//后与前替换
}
}
}
}
}
class AA {
//属性
//构造器
//getter setter方法
//toString()
}
刷题
合并两个有序链表
删除链表中的重复元素
原文始发于微信公众号(易小琳):迭代器遍历|增强for循环|List接口和常用方法|
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/251488.html