import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; public class TestIterator {
public static void main(String[] args) {
//testIteratorList();
//testIteratorSet();
testIteratorMap();
} public static void testIteratorList() {
List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc"); for (Iterator<String> item = list.iterator(); item.hasNext();) {
String temp = item.next();
System.out.println(temp);
}
} public static void testIteratorSet(){
Set<String> set=new HashSet<>();
set.add("11");
set.add("22");
set.add("33"); for(Iterator<String> iter=set.iterator();iter.hasNext();){
String temp=iter.next();
System.out.println(temp);
}
} //第一种
public static void testIteratorMap(){
Map<Integer,String> map=new HashMap<>();
map.put(100, "aa");
map.put(400, "bb");
map.put(500, "cc"); Set<Entry<Integer,String>> ss=map.entrySet();
for(Iterator<Entry<Integer,String>> iter= ss.iterator();iter.hasNext();){
Entry<Integer,String> temp=iter.next();
System.out.println(temp.getKey()+"--"+temp.getValue());
} //第二種
Set<Integer> keySet=map.keySet();
for(Iterator<Integer> iter=keySet.iterator();iter.hasNext();){
Integer key=iter.next();
System.out.println(key+"-------"+map.get(key));
}
}
}

  TreeSet实现排序:

import java.util.Set;
import java.util.TreeSet; public class TestTreeSet {
public static void main(String[] args) {
Set<Integer> set=new TreeSet<>();
set.add(300);
set.add(200);
set.add(600); for(Integer m:set)
System.out.println(m); Set<Emp2> set2 = new TreeSet<>();
set2.add(new Emp2(100,"张三",3000));
set2.add(new Emp2(50,"李四",2000));
set2.add(new Emp2(150,"王五",8000));
set2.add(new Emp2(30,"赵六",20000)); for(Emp2 m:set2){
System.out.println(m);
}
}
}
class Emp2 implements Comparable<Emp2> {
int id;
String name;
double salary; public Emp2(int id, String name, double salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
} @Override
public String toString() {
return "id:"+id+",name:"+name+",salary:"+salary;
} @Override
public int compareTo(Emp2 o) { //负数:小于,0:等于,正数:大于 if(this.salary>o.salary){
return 1;
}else if(this.salary<o.salary){
return -1;
}else{
if(this.id>o.id){
return 1;
}else if(this.id<o.id){
return -1;
}else{
return 0;
}
}
}
}

  TreeMap实现排序:

import java.util.Map;
import java.util.TreeMap; public class TestTreeMap {
public static void main(String[] args) {
Map<Integer,String> treeMap1=new TreeMap();
treeMap1.put(20, "aa");
treeMap1.put(3, "bb");
treeMap1.put(6, "cc"); for(Integer key:treeMap1.keySet()){
System.out.println(key+"----"+treeMap1.get(key));
} Map<Employee,String> treeMap2=new TreeMap<Employee,String>();
treeMap2.put(new Employee(100,"張三",5000), "111");
treeMap2.put(new Employee(200,"李四",500), "222");
treeMap2.put(new Employee(150,"王五",6000), "333"); //按照key遞增的方式排序
for(Employee key:treeMap2.keySet()){
System.out.println(key+"---"+treeMap2.get(key));
}
}
} class Employee implements Comparable<Employee>{
int id;
String name;
double salary;
public Employee(int id, String name, double salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
return "id:"+id+",name:"+name+",salary:"+salary;
}
@Override
public int compareTo(Employee o){
if(this.salary>0)return 1;
else if(this.salary<o.salary)return -1;
else{
if(this.id>o.id)return 1;
else if(this.id<o.id) return -1;
else return 0;
}
}
}

  

Java-Iterator遍历集合的更多相关文章

  1. 8.2.2 使用Java8增强的Iterator遍历集合元素

    8.2.2 使用Java 8增强的Iterator遍历集合元素 Iterator接口方法 程序示例 Iterator仅用于遍历集合 Iterator必须依附于Collection对象 修改迭代变量的值 ...

  2. java8 增强的Iterator遍历集合元素

    Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于 ...

  3. java中遍历集合的三种方式

    第一种遍历集合的方式:将集合变为数组 package com.lw.List; import java.util.ArrayList; import java.util.List; import ja ...

  4. Java中遍历集合的常用方法

    一.List 1.普通for循环 for (int i = 0; i < list.size(); i++)){ String temp = (String)list.get(i); Syste ...

  5. 集合—collection、iterator遍历集合

    一.collection接口 1.collection常用方法 点击查看代码 @Test public void test(){ //contains() Collection coll = new ...

  6. java 数据类型:集合接口Collection之常用ArrayList;lambda表达式遍历;iterator遍历;forEachRemaining遍历;增强for遍历;removeIf批量操作集合元素(Predicate);

    java.util.Collection接口 Java的集合主要由两个接口派生出来,一个是Collection一个是Map,本章只记录Collection常用集合 集合只能存储引用类型数据,不能存储基 ...

  7. java 15- 5 List集合

    需求 1:List集合存储字符串并遍历.(步骤跟Collection集合一样,只是最初创建集合对象中的集合类改变了,Collection变成List) List集合的特点: 有序(存储和取出的元素一致 ...

  8. Java Iterator模式

    Iterator迭代器的定义:迭代器(Iterator)模式,又叫做游标(Cursor)模式.GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部 ...

  9. Java入门(三)——集合概讲

    集合(或者叫容器)是Java的核心知识点,它有着很深的深度.我们这里不会设计多深,仅仅作为了解入门,深入了解请移步各种集合源码文章.好的,下面正是开始介绍... Java集合为何而生 我们知道,Jav ...

  10. java基础之 集合

    一.ArrayList和Linkedlist的区别 1.ArrayList是基于数组,LinkedList基于链表实现. 对ArrayList和LinkedList而言,在列表末尾增加一个元素所花的开 ...

随机推荐

  1. 智能家居-2.基于esp8266的语音控制系统(硬件篇)

    智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) 赞赏支持 QQ:505645 ...

  2. nrm : 无法加载文件 C:\Users\TANG\AppData\Roaming\npm\nrm.ps1,因为在此系统上禁止运行脚本。

    1.win+s 搜索powershell 以管理身份运行 2.使用set-ExecutionPolicy RemoteSigned命令将计算机上的执行策略更改为 RemoteSigned,输入Y确定 ...

  3. linux date 设置系统时间

    设置 系统时间 注意时间格式 date  -s "date" [root@localhost c]# date -s "2019-05-29 10:58:00" ...

  4. OpenStack Train版 简单部署流程

    environment 1.网络平面 management(管理网络)→软件安装,组件通信 provider(提供实例网络)→:提供者网络:直接获取ip地址,实例之间直接互通   自服务网络(私有网络 ...

  5. <人人都懂设计模式>-单例模式

    这个模式,我还是了解的. 书上用了三种不同的方法. class Singleton1: # 单例实现方式1 __instance = None __is_first_init = False def ...

  6. linux(02)基础shell命令

    Linux(02)之shell命令 一,Linux命令行的组成结构 在我们的linux启动,登陆成功之后会显示: 这就是linux的命令行的组成结构 二,常见命令 1,Linux系统命令操作语法格式 ...

  7. 429 too many requests错误出现在wordpress后台更新及官网的5种解决方法

    从今年10月份开始wordpress服务经常出现429 too many requests错误,包括后台更新和访问wp官网,如下图所示,这是为什么呢?怎么处理呢?有大佬向官方论坛提问了,论坛主持人Ja ...

  8. SpringCloud介绍(一)

    Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量. 一 ...

  9. 洛谷 P1823 [COI2007] Patrik 音乐会的等待

    洛谷 P1823 [COI2007] Patrik 音乐会的等待 洛谷传送门 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A ...

  10. 洛谷 P2357 守墓人

    洛谷 P2357 守墓人 题目描述 在一个荒凉的墓地上 有一个令人尊敬的守墓人, 他看守的墓地从来 没有被盗过, 所以人们很放心的把自己的先人的墓 安顿在他那 守墓人能看好这片墓地是必然而不是偶然.. ...