当前位置: 首页 > 知识库问答 >
问题:

Treeset仅打印一个元素,应按升序获取名称[重复]

司雅畅
2023-03-14
import java.text.ParseException;
import java.util.Iterator;
import java.util.TreeSet;
public class Test {
    public static void main(String[] args) throws ParseException {
        TreeSet<Employee> ts = new TreeSet<Employee>();
        Employee emp1 = new Employee();
        Employee emp2 = new Employee();
         emp1.setName("CDD");
         emp2.setName("BCC");
         ts.add(emp1);
         ts.add(emp2);
         Iterator<Employee> itr=ts.iterator();
            while(itr.hasNext()){
                Employee c=itr.next();
                System.out.println(c.getName());
            }
    }
}

public class Employee implements Comparable<Employee> 
{   
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int compareTo(Employee arg0) {
        // TODO Auto-generated method stub
        return 0;
    }



}

我正在将自定义Employee对象添加到树集中,以按升序获取名称。

我有这个节目。

请告诉我:

  1. 为什么只有一个人被显示
  2. 如何得到名字的升序

共有1个答案

史默
2023-03-14

您需要创建一个compareTo方法,该方法不会将所有Employees进行相等的比较,这就是您的compareTo方法通过始终返回0所做的。当树集(或任何)发现一个对象“等于”集合中已有的某个对象时,它不会添加该对象。

您可以通过比较员工的姓名来比较员工。

@Override
public int compareTo(Employee arg0) {
    return this.name.compareTo(arg0.name);
}

或者,您可以创建自己的compareTo实现,当此对象“小于”对象参数时返回负数,当此对象“等于”对象参数时返回0,当此对象“大于”对象参数时,根据compareTo约定返回正数。

 类似资料:
  • 问题内容: 我的问题是: 当其他元素与父元素的“孙子元素”同名时,如何直接在特定父元素下获取元素。 我正在使用Java DOM库解析XML 元素,但遇到了麻烦。下面是 一些 我使用的XML(可一小部分): 如您所见,可以在两个位置放置元素。分组或外部分组。我真的希望它采用这种结构,因为它更加用户友好。 现在,每当我调用它时,它就会为我提供所有元素,包括该元素下的元素。我对这些文件的处理方式不同,因

  • 问题内容: 考虑以下功能: 而这个HTML部分: 显示警报框,但显示“未定义”。 问题答案: 您看到该错误的原因是因为返回了一个元素。并且a 元素没有属性。 使用此代替:

  • 我想知道一个应用程序的包名,我只知道那个应用程序的应用程序名。假设我想知道一个电子邮件应用程序的包名,只是它的名字,然后如何得到它 我只知道应用程序名。 这是代码,以获得所有的应用程序的包名称,但我需要知道特定的应用程序。

  • 这是我的代码片段 在这个数组代码中,我必须打印非重复的整数值 说数组值是:-[1,1,2,3,1,2,4,5]答案应该是:-[3,4,5]即我必须打印的非重复整数值。有人能帮我解决这个问题吗

  • 现在,我有两个名称为和名称为的cookie。 我想让这个getter只从义务cookie中获取值。 我该怎么做?因此将数据拆分为单独的值并将其放入数组中。

  • 我能把1打印出来吗? 我尝试了以下: 它返回给我一个错误: 给定的选择器。//[@id='version id']/tbody/tr/td[2]/span/text()无效或不会导致webelement。出现以下错误:InvalidSelectorError:xpath表达式“.//[@id='version id']/tbody/tr/td[2]/span/Text()”的结果是:[object