错误反思:
在学习过程中,不能一味学习后面的知识,也要抽时间回顾前面的知识,今晚通过做以前的题,发现自己还有很多知识点没有记住或者遗忘了,这次是集合中的list、set和map集合中的遍历方法,经过了一周时间,忘得差不多了,有这个遗忘问题的小伙伴们可以多查漏补缺哦,记得温故知新,废话少说,开始正文。
List集合的遍历
list集合遍历的四种方法
案列如下:
public class testlist {
public static void main(String[] args) {
List list=new ArrayList();
list.add("aa");
list.add("bb");
list.add("cc");
/**
* 方式一:普通for循环,因为list集合是有序的,所以可以根据下标来遍历
* list集合中存放的数据类型没有定义的话默认是Object类型的,所以在循环中要用Object接收
* 之后输出集合对象
*/
// for (int i = 0; i < list.size(); i++) {
// Object o=list.get(i);
// System.out.println(o);
// }
/**
* 方法二:增强for循环 格式:for(接受对象类型 对象名:集合对象){}
*/
// for(Object object:list){
// String string=(String) object;//集合是String类型的,因为接受对象是Object类型,所以要强转成String类型;
// System.out.println(string);//输出list集合内容
// }
/**
* 方法三:迭代器 通过集合对象获取相应的迭代器
*/
// Iterator iterator = list.iterator();//通过list对象来获取迭代器
// while(iterator.hasNext()) {//判断iterator的hasNext的返回值
// System.out.println(iterator.next());//输出对象内容
// }
/**
* 方法四:forEach,jdk1.8开始支持的新语法,箭头函数
*/
list.forEach((e)->{
System.out.println(e);
});
}
}
Set集合遍历
set集合遍历方式和list集合遍历方式相似,不过sey是无序集合,不能用普通for循环来遍历
案例如下:
public class TestSet {
public static void main(String[] args) {
Set set=new HashSet();
set.add(1);
set.add(2);
set.add(3);
/**
* 第一种:由于set集合不是有序的,所以不能用普通for循环,但是可以用增强for循环
*/
// for(Object object:set) {
// System.out.println(object);
// }
/**
* 第二种:迭代器
*/
// Iterator iterator = set.iterator();
// while(iterator.hasNext()) {
// System.out.println(iterator.next());
// }
/**
* 第三种:set调用forEach方法
*/
set.forEach((e)->{
System.out.println(e);
});
}
}
Map集合遍历
public class TestMap {
public static void main(String[] args) {
Map map = new HashMap();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
/**
* 方法一:通过map对象直接调用foreach方法
*/
map.forEach((k, v) -> {
System.out.println(k + "=" + v);
});
/**
* 方法二:通过map对象来调用keySet方法
*/
// map.keySet()把map中的key值存到某个set集合中
// Set keySet = map.keySet();// 返回值是Set集合的形式
// for (Object object : keySet) { // 获取集合中的键
// Object b = map.get(object); // 获取map集合中的值
// System.out.println(object + "=" + b);
// }
/**
* 方法三:通过map调用entryset方法
*/
Set entrySet = map.entrySet();
for(Object object:entrySet) {
Map.Entry kv=(Entry) object;
System.out.println(kv.getKey()+"="+kv.getValue());
}
}
}