标题:TreeSet问题
只看楼主
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
 问题点数:0 回复次数:5 
TreeSet问题

public class TreeSetTest
{
public static void main(String[] args)
{
SortedSet<Item> parts = new TreeSet<Item>();
parts.add(new Item("Toaster", 1234));
parts.add(new Item("Widget", 4562));
parts.add(new Item("Modem", 9912));
System.out.println(parts);

SortedSet<Item> sortByDescription = new TreeSet<Item>(new
Comparator<Item>()
{
public int compare(Item a, Item b) 这两个参数是怎么传进来的啊! 好像没有调用这两个函数的地方啊
{
String descrA = a.getDescription();
String descrB = b.getDescription();
return descrA.compareTo(descrB);
}
});

sortByDescription.addAll(parts);
System.out.println(sortByDescription);
}
}
class Item implements Comparable<Item>
{

public Item(String aDescription, int aPartNumber)
{
description = aDescription;
partNumber = aPartNumber;
}

public String getDescription()
{
return description;
}

public String toString()
{
return "[descripion=" + description
+ ", partNumber=" + partNumber + "]";
}
下面的红色的代码 在这里起什么作用啊 我把他们注释掉 运行结果也没有变化啊

public boolean equals(Object otherObject) 这个方法又是谁调用的啊
{
if (this == otherObject) return true;
if (otherObject == null) return false;
if (getClass() != otherObject.getClass()) return false;
Item other = (Item) otherObject;
return description.equals(other.description)
&& partNumber == other.partNumber;
}

public int hashCode() 这个也不知道是谁调用的
{
return 13 * description.hashCode() + 17 * partNumber;
}

public int compareTo(Item other)
{
return partNumber - other.partNumber;
}
我把上面的代码改成下面的运行结果也没有什么变化 那他写这段代码有是有什么作用呢!而且我发现好像也没有人调用它
public int compareTo(Item other)
{
return 2;
}

private String description;
private int partNumber;
}

[此贴子已经被作者于2006-12-3 12:41:15编辑过]

搜索更多相关主题的帖子: Item TreeSet parts new 
2006-12-03 12:27
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
重写定义在Object中的方法
为了性能

可惜不是你,陪我到最后
2006-12-03 12:40
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
得分:0 
我把他去了 也没什么变化啊

2006-12-03 12:42
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
得分:0 
我搞不明白这个程序是怎么掉用的 看不懂了

2006-12-03 12:42
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
得分:0 
顺面问一下  Comparable和Comparator有什么关系 我发现他两在很多书上总是走的很近.

2006-12-03 13:07
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
这个问题你还是看API吧,它回答的很详细,也很清楚

可惜不是你,陪我到最后
2006-12-03 13:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-106939-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.121717 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved