试问输出结果的数据的顺序和set里所存入的顺序一致呗?谢谢!

试问输出结果的数据的顺序和set里所存入的顺序一致呗?谢谢!

package com.yihuanla.student;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class StudentTest {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		//定义三个student类对象,并添加到hashset中
		
		Student stu1=new Student(3,"William",65.0f);
		Student stu2=new Student(1,"Tom",87.0f);
		Student stu3=new Student(2,"Lucy",95.0f);
		
		Set<Student>set=new HashSet<Student>();
		set.add(stu1);//往set或说往hashset存的是对象
		set.add(stu2);
		set.add(stu3);
		
		//显示hashset中元素的内容
		Iterator<Student>it=set.iterator();
		
		while(it.hasNext()) {
			
			System.out.println(it.next());//因为你在set中,存的是对象,it.next()获取的就是这个对象
			
		}
		
		
		System.out.println("******************");
		
		//Student stu5=new Student();
		
		for(Student stu5:set) {
			
			if("William".equals(stu5.getName()))
				set.remove(stu5);
			
		}
		
  }
}

如上代码输出结果为:

 [学号=2, 姓名=Lucy, 成绩95.0]

 [学号=1, 姓名=Tom, 成绩87.0]

 [学号=3, 姓名=William, 成绩65.0]

******************

试问输出结果的数据的顺序和set里所存入的顺序一致呗?谢谢!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2020-08-22 21:20:01

http://img1.sycdn.imooc.com//climg/5f40ff5909cac10704010152.jpg

同学是不是写错了存入的顺序是1,2,3而输出的顺序是

http://img1.sycdn.imooc.com//climg/5f40ff8d0974d70904280207.jpg

2,1,3。所以顺序是不一致的呢。祝:学习愉快

  • 提问者 Ceoking #1
    没听懂你的意思。
    2020-08-23 16:06:37
  • 好帮手慕雪 回复 提问者 Ceoking #2
    增加时的顺序是学生1,2,3;输出时学生顺序2,1,3。所以它是无序的。
    2020-08-24 09:51:11
  • 提问者 Ceoking 回复 好帮手慕雪 #3
    存入是123输出是321因此存入与输出不一致就是无序呗?
    2020-08-24 11:43:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师