qq_45735316 2020-10-28 20:39 采纳率: 94.1%
浏览 77
已采纳

为什么最后一个循环没有输出?是哪里错了?

User.java

package lesson06;

public class User implements Comparable<User>{
       private String id;
       private String gender;
       private String name;
       public User(){}
       public User(String id,String name,String gender)
       {
           this.id=id;
           this.name=name;
           this.gender=gender;
       }

       public void setid(String id)
       {
           this.id=id;
       }
       public String getid()
       {
           return this.id;
       }

       public void setname(String name)
       {
           this.name=name;
       }
       public String getname()
       {
           return this.name;
       }

       public void setgender(String name)
       {
           this.gender=gender;
       }
       public String getgender()
       {
           return this.gender;
       }

       public String toString()
       {
           return ("User:id="+this.getid()+" name="+this.getname()+" gender="+this.getgender());
       }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        User other = (User) obj;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        return true;
    }
    @Override
    public int compareTo(User o) {
        return this.compareTo(o);
    }

}

TestUser.java

package lesson06;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;


public class TestUser {
    public static String getsex(Random r)
    {
        int i=r.nextInt(2);//随机生成数的范围为[0,a)
        if(i==0)return "mam";
        else return "female";
    }
    public static void main(String[] args) {
        List<User> list=new ArrayList();
        Set<User> set=new HashSet();
        Map<String,User> map=new TreeMap();
        Random r=new Random();
        for(int i=0;i<50;i++)
        {
            String id="user"+r.nextInt(100);
            String name="zhang"+r.nextInt(100);
            String gender=getsex(r);
            User user=new User(id,name,gender);
            list.add(user);
            set.add(user);
            map.put(user.getid(), user);

        }

        Iterator<User> it=list.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next().toString());
        }
        System.out.println("list.size="+list.size());
        System.out.println();

        it=set.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next().toString());
        }
        System.out.println("set.size="+set.size());
        System.out.println();

        Set<String> keys=map.keySet();
        Iterator<String> it2=keys.iterator();
        while(it.hasNext())
        {
            System.out.println((map.get(it2.next())).toString());
        }
        System.out.println("map.size="+keys.size());
        System.out.println();
    }


}

```![图片说明](https://img-ask.csdn.net/upload/202010/28/1603888783_479836.jpg)
  • 写回答

1条回答 默认 最新

  • _YuLF 2020-10-29 13:19
    关注
            Set<String> keys=map.keySet();
    >         Iterator<String> it2=keys.iterator();
    >         while(it.hasNext())
            {
                System.out.println((map.get(it2.next())).toString());
            }
            System.out.println("map.size="+keys.size());
            System.out.println();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥88 实在没有想法,需要个思路
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)