java 关于set集合遍历的问题。我打印不出学生信息怎么办??

import java.util.*;
public class Student1 {
private String StuNo;
private String StuName;
private int age;
private String email;
public Student1(String StuNo,String StuName,int age,String email){
this.StuNo=StuNo;
this.age=age;
this.StuName=StuName;
this.email=email;
}
public String getStuNo(){
return StuNo;
}
public void setStuNo(String StuNo){
this.StuNo=StuNo;
}
public String getStuName(){
return StuName;
}
public void setStuName(String StuName){
this.StuName=StuName;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public String getEmail(){
return email;
}
public void setEmail(){
this.email=email;
}

public static void main (String [] args){
Student1 s1=new Student1("1","l4",18,"qwe@qq");
Student1 s2=new Student1("2","w5",19,"asd@sina");
Student1 s3=new Student1("3","z6",20,"zxcv@shou");
Student1 s4=new Student1("4","t7",21,"hkl@163");
Set set=new HashSet();
set.add(s1);
set.add(s2);
set.add(s3);
set.add(s4);
Iterator it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

}

第1个回答  2012-12-10
要覆盖Student的toString()方法
第2个回答  2012-12-10
重写Student1类的toString()方法追问

怎么重写,新手不太懂

追答

在类里写个
@Override
public String toString() {
return “StuNo=”+StuNo+",age="+age+",StuName="+StuName+",email="+email
}
方法就行了。

追问

我想用迭代器遍历出来怎么写?

java 关于set集合遍历的问题。我打印不出学生信息怎么办??
1、迭代遍历:Set<String> set = new HashSet<String>();Iterator<String> it = set.iterator();while (it.hasNext()) { String str = it.next();System.out.println(str);} 2、for循环遍历:for (String str : set) { System.out.println(str);} 优点还体现在泛型 假如 set中存放的...

java里setlist为什么能遍历集合
Set的遍历与List类似,但由于Set没有get方法,因此不能使用直接通过数组索引访问数据的方式。总结来说,通常选择增强型for循环进行遍历。3. List与Set的相互转换 相互转换的需求不多,直接上代码:```java public static List SetToList(Set set) { List list = new ArrayList>();list.addAll(set...

java 关于集合Set接口的实现类中 元素相等的问题
如果两个元素相同,那么其hashcode必定相同。如果两个元素不同,那么不要求其hashcode一定不同。(但是如果不同的元素尽量能返回不同的hashcode,那么将有助于提高HashSet的性能)

java iterator循环遍历集合(比如HashSet)的原理
Iterator<String> it = set.iterator() 这时得到一个迭代器,它的指针位于第一个元素之前。然后我们不停地 hasNext() 再 next 得到值,当hasNext 为 false 时当然就不能去 next 了。这背后的位置索引是在迭代器内部记录着的,我们不能直接改它的值,只能 next 去下一个。不过像 ListIterator 则...

java中的集合哪些可以边遍历边删除,哪些不可以,还有哪些可以边遍历边添...
1. 在Java中,可以边遍历边删除的集合包括:List接口的所有实现类(如ArrayList、LinkedList等),因为它们支持快速随机访问,允许在遍历过程中删除元素。2. 不可以边遍历边删除的集合包括:Set接口的所有实现类(如HashSet、TreeSet等),因为它们不支持快速随机访问,遍历过程中删除元素可能会导致Concurrent...

java里set list 为什么能遍历集合
list和set集合是java中最常见的两种数据结构,都是Collection的子集,今天就简单的说说他们两者的遍历以及相互转化吧。一、list的遍历 有三种遍历方法:\/ list的三种遍历 author Owner \/ public class ListTest { public static void main(String[] args) { List<String> list = new ArrayList<String>(...

JAVA的集合类型有哪些
1、List(有序、可重复)List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。2、Set(无序、不能重复)Set里存放的对象是无序,不能重复的,集合中的对象...

java中foreach的语法,用法是什么?
java int[] numbers = {1, 2, 3, 4, 5};for { System.out.println;} 这段代码会依次打印出数组`numbers`中的每个元素。2. 遍历集合:对于Java集合框架中的集合,如List、Set等,同样可以使用foreach循环进行遍历。例如,遍历一个ArrayList:java List list = new ArrayList<>;list.add;list....

java初级面试题目?
关于基础类的题目,我在面试初级java工程师的时候一般会问下面两大类问题,每类5个题目,这样下来我就基本可以了解这位工程师的程度了。 java基础类 面向对象基础类 java基础类 1.描述一下java的访问修饰符,和它们之间的区别? 回答:如果可以回到出public,private,protected,就算是ok;回答出default的,加分。 2.int和...

java的map程序...Set<String> set = map.keySet(); \/\/\/1 <String> 何...
1 泛型,意思是set里必须是String类型 2 首先你要知道的是,map是什么,他是键值对,key value pair,key可以提高你访问value的速度,但是key通常没什么卵用,真正要用的value,map提供给你了一个方法keySet()来得到所有key的集合,因为key是唯一的,显然set最合适。3 java提供的方法你就看API就好了...

相似回答