已知一个Person类:

 public class Person implements Comparable<Person>{
String name;
String id;
public Person(String name,String id) {
this.name=name;
this.id=id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public boolean equals(Object o) {
if(!(o instanceof Person)) {
return false;
}
Person person=(Person) o;
return this.id.equals(person.id);
}
@Override
public int compareTo(Person o) {
if(o==null)
return ;
return this.id.compareTo(o.id);
} public String toString() {
return String.format("%s-%s", name,id);
} public int hasCode() {
return id.hashCode();
}
}

1、遍历HashMap的不同方法:

 import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import difficult.Person;
public class HashMapDemo {
public static void main(String[] args) {
Map<String, Person> map=new HashMap<>();
Person p1=new Person("张三", "");
map.put(p1.getId(), p1);
map.put("", new Person("", "李四"));
map.put("", new Person("", "王五"));
System.out.println(map); System.out.printf("%s-%s\n","",map.get(""));
//增强型for,元素类型为Entry<String,Person>
for(Entry<String, Person> entry:map.entrySet()) {
System.out.printf("%s-%s ",entry.getKey(),entry.getValue());
}
System.out.println();
//利用set来遍历
Set<String> keys=map.keySet();
for(String key:keys) {
Person value=map.get(key);
System.out.printf("%s-%s ",key,value);
}
System.out.println();
}
}

2、遍历list的不同方法

 import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import difficult.Person; public class IterateList { public static void main(String[] args) {
List<Person> persons = new ArrayList<>();//,List为一个接口,定义一个泛型为Person的ArrayList表
Person p = new Person("1001", "张三"); persons.add(p);
persons.add(p);
persons.add(new Person("1002", "李四"));
persons.add(new Person("1003", "王五"));
persons.add(new Person("1004", "沈六")); //遍历1:下标
int len=persons.size();
for(int i=0;i<len;i++) {
Person person=persons.get(i);
System.out.print(person+"\t");
}
System.out.println();
//遍历2:迭代器
Iterator<Person> iterator=persons.iterator();
while(iterator.hasNext()) {
Person person=iterator.next();
System.out.print(person+"\t");
}
System.out.println(); //遍历3:增强型for
for(Person person:persons) {
System.out.print(person+"\t");
}
System.out.println(); int[] data= {1,3,5,7,9};
for(int dat:data) {
System.out.print(dat+"\t");
}
}
}

3、利用向量(通过枚举)遍历list

 import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Vector; import difficult.Person; public class VectorAndList { public static void main(String[] args) {
List<Person> persons = new ArrayList<>();
Person p = new Person("1001", "张三"); persons.add(p);
persons.add(p);
persons.add(new Person("1002", "李四"));
persons.add(new Person("1003", "王五"));
persons.add(new Person("1004", "沈六")); // 遍历二:迭代器
Iterator<Person> iterator=persons.iterator();
while(iterator.hasNext()) {
Person person=iterator.next();
System.out.print(person+"\t");
}
System.out.println(); //向量
Vector<Person> vector=new Vector<>();
vector.addAll(persons);
//通过枚举遍历
Enumeration<Person> enu=vector.elements();
while(enu.hasMoreElements()) {
Person person=enu.nextElement();
System.out.print(person+"\t");
}
System.out.println(); }
}

Java中的不同遍历方式的更多相关文章

  1. Java 中数组的遍历方式

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 今天我们就来说一下在java中遍历数组都有哪几 ...

  2. Java集合01----ArrayList的遍历方式及应用

                                                 Java集合01----ArrayList的遍历方式及应用 前面已经学习了ArrayList的源代码,为了学以 ...

  3. JS 和 Java 中URL特殊字符编码方式

    前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...

  4. Java中数组的初始化方式

    Java中数组的初始化方式    初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...

  5. 原码,补码,反码的概念及Java中使用那种存储方式

    原码,补码,反码的概念及Java中使用那种存储方式: 原码:原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示 补码:机器数的补码可由原码得到.如果机器 ...

  6. Java中实现线程的方式

    Java中实现线程的方式 Java中实现多线程的方式的方式中最核心的就是 run()方法,不管何种方式其最终都是通过run()来运行. Java刚发布时也就是JDK 1.0版本提供了两种实现方式,一个 ...

  7. Java(8)中List的遍历方式总结

    本篇文章主要讲述了List这一集合类型在Java,包括Java8中的遍历方式,不包括其他的过滤,筛选等操作,这些操作将会在以后的文章中得到提现,由List可以类推到Set等类似集合的遍历方式. pub ...

  8. Java中反射的实现方式

    所谓反射,是指在运行时状态中,获取类中的属性和方法,以及调用其中的方法的一种机制.这种机制的作用在于获取运行时才知道的类(Class)及其中的属性(Field).方法(Method)以及调用其中的方法 ...

  9. Java中四种遍历Map对象的方法

    方法一:在for-each循环中使用entry来遍历,通过Map.entrySet遍历key和value,这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Int ...

随机推荐

  1. 我不是机器人:谷歌最新版验证码系统ReCaptcha破解已开源

    选自 Github 作者:George Hughey 机器之心编译 每个人都讨厌验证码,这些恼人的图片中包含你必须输入的字符,我们只有正确地填写才能继续访问网站.验证码旨在确认访问者是人还是程序,并防 ...

  2. selenium怎么操作web页面常见的元素

    总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...

  3. SpringBoot获取配置文件的自定义参数

    1.在application.properties中自定义参数 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datas ...

  4. python之路第二天

    为何要有操作系统 为了让程序员更轻松的完成命令电脑工作而存在的,控制硬件,服务于软件. 操作系统的位置 操作系统位于软件和硬件之间.操作系统由内核(运行于内核态,控制硬件)和系统调用(运行于用户态,为 ...

  5. ps和AI使用过程中的易错点整理

    ps:1.视图工具:1)标尺2)参考线3)网格:视图-->--显示>-->网格4)修改网格:编辑-->首选项>-->参考线.网格和切片 5)放大工具:画布中单击可放 ...

  6. (转)一位资深程序员大牛给予Java初学者的学习路线建议

    Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每 ...

  7. java读取pdf和MS Office文档

    有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来. 还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:Font ...

  8. HDU 1671 Phone List (qsort字符串排序与strncmp的使用 /字典树)

    Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  9. 【C++ Primer | 11】关联容器(一)

    在multimap或multiset中查找元素 第二种方法解释: #include <iostream> #include <utility> #include <ite ...

  10. 437. 路径总和 III

    方法一:48 ms /* sumUp递归子程序求解以root为根节点的子节点之和为sum的路径数目; pathSum递归部分是把根节点逐一考察,如以root->left,以root->ri ...