我想做一个词法排序的字符串列表,所以我使用了基本的SortedSet
1) Set<String> words = new SortedSet<String>(){}
并意识到SortedSet是一个抽象类,在这个类中,我必须实现comapartor方法。因此,我去谷歌搜索,发现treeSet更好,我可以使用它的预定义比较器方法。
2) SortedSet<String> words = new TreeSet<String>(){}
当我进入java文档时,我意识到TreeSet扩展了AbstractSet而不是SortedSet。问题1
我正在尝试创建一个HashSet (或任何集合类型--但我认为HashSet最适合我),无论插入什么,它都将保持顺序。这是我正在做的一个联系人管理项目。我一直在用下面的例子做实验。
import java.util.*;
public class TestDriver{
public static void main(String[] args)
{
FullName person1 = new FullName("Stephen", "Harper");
FullName person2 = new Full
我想根据hash集合中字符串的长度对hashset值进行降序排序。
HashSet<String> hs = new HashSet<String>();
hs.add("The World Tourism Organization");
hs.add("reports the following ten countries");
hs.add("as the most visited in terms of the number");
hs.add("of international travellers.
好的,这是个棘手的问题。我有一张布景表。我想按顺序对集合中的对象排序。
想象一下,每一组都代表着学校里的一个班级。每个集合都包含person对象。person对象保存名称的字符串值。我想先把集合中的人按名字排列,然后再循环写出来。
有什么地方可以使用Collections.sort();或类似的东西来实现这一点吗?
for (Set<Person> s : listOfAllChildren) {
for (Person p : s) {
if(p.getClass().equalsIgnoreCase("Jones")){
我正在开发一个使用CDI事件的JEE应用程序。
WildFly Full 12.0.0.Final (WildFly Core 4.0.0.Final)
jdk1.8.0_121
[org.jboss.weld.Version] (MSC service thread 1-2) WELD-000900: 3.0.3 (Final)
我正在传递一些事件中的数据。
我觉得有困难的是这节课:-
public class KeywordPersist implements Serializable {
private static final long serialVersionUID =
通常,当我想在java中存储大量数据时,我会使用Set<String>,这是非常快速和高效的。
Set<String> example = new HashSet<String>();
但问题是它不能被排序。我不能使用Lists,因为我要存储非常大量的数据(100,000),而使用List会严重影响我的程序性能。
ArrayList<String> example = new ArrayList<String>()
有没有别的办法呢?我需要对数据进行排序(例如按日期排序),并且不断有新元素添加到List中。
当我试图使用可比较的接口创建匿名内部时,我得到了编译错误。
//Code trying to create treeset using comparable
// compilation error
TreeSet<String> treeSet5 = new TreeSet<String>(new Comparable<String>() {
@Override
public int compareTo(String o) {
// TODO Auto-generated method stub
我尝试实现TreeSet而不是ArrayList,因为我需要对该列表进行排序。原始代码是:
private final List<Report> reports = new ArrayList<Report>();
public void receiveReport(final Report report) {
this.reports.add(report);
}
对于我的版本:
private final TreeSet<Report> reports = new TreeSet<>();
public void re
我需要在java中读取一个文本文件并转换它。读取文本文件很简单,这不是问题所在。但我不知道如何转换或如何存储数据。该文件包含一些日期,例如: 2021-06-17, User A
2021-06-18, User A
2021-06-19, User A
2021-06-20, User A
2021-06-24, User A
2021-06-25, User A
2021-06-17, User B 最后,我需要这个结果: 2021-06-17, 2021-06-20, User A
2021-06-24, 2021-06-25, User A
2021-06-17, 2021-06-1
我有一个特定对象(会议)的列表,我需要使用一个字段属性(java.util.Date)对这些对象进行分组,并将它们放在另一个对象中,该对象是属于同一个月/年的分组会议类型对象的容器。
因此,我正在考虑一些代码,这些代码接收从数据库获取的会议列表,然后在特定的MonthMeetings对象中按月/年对它们进行分组,为此,我有一个使用如下地图的代码:
public static Map<String, MonthMeetings> groupMeetingsByMonth(
List<Meeting> meetings) {
// this is
Oracle文档中有一句话:
元素使用它们的自然顺序排序,或者由在设置创建时提供的比较器进行排序,这取决于所使用的构造函数。
我想知道比较可能被用来决定TreeSet的顺序,但我不知道如何证明我的想法,所以我不知道它是正确的或不正确的。有人能告诉我如何证明它是否正确吗?任何代码或想法都会受到赞赏。
密码在这里更好地解释我的问题。
final class Point implements Comparable<Point>{
/***************** override compareTo*****************/
public int c
以下程序的输出与我所期望的不一样。这个程序有什么问题吗?请建议一下。
Hello113,Hello380,Hello293,Hello290,Hello246,Hello456,Hello797,Hello888,Hello981
编辑:我只想这样做。不使用collections.sort()。
public class Sample {
public static void main(String[] args) {
Random random = new Random(10);
List<Employee> employees
假设我在ArrayList中有一个具有属性名称(字符串)和年龄(整型)的Pet类,并且我想在不使用集合框架的情况下对它们进行排序,所以我使用TreeSet来解析ArrayList.My问题是,有没有办法在TreeSet的构造函数中初始化新的比较器(与ArrayList一起),或者我必须在Pet类中实现新的比较器/可比? 我已经通过在Pet类中实现了一个可比较的类来尝试它,并且它起作用了,但是我想知道是否有一种更短的方法可以使用TreeSet构造函数。 ArrayList<Pet> myPets = new ArrayList<>();
// TreeSet to c
import java.util.*;
public class Example {
public static void main(String[] args) {
// insert code here
set.add(new Integer(2));
set.add(new Integer(1));
System.out.println(set);
}
}
Set set = new TreeSet();
Set set = new HashSet();
Set set = new SortedSet
嗨,我有一个country类,它包含一个countryLanguage集。我想对每个国家/地区的语言进行排序。我正在创建视图页面。国家/地区及其对应的语言。县是可以的,但它的语言没有排序的顺序。我搞不懂我在哪个类中使用了比较函数,以及如何使用。
public class Country implements Serializable{
private Set<CountryLanguage> countryLanguage = new HashSet<CountryLanguage>(0);
//...
}
public class CountryLanguage {
我在使用TreeSet时,在调用TreeSet#add()方法时找到了一个ClassCastException。
代码:
public class Testing {
public static void main(String[] args) {
TreeSet<Testing> ts = new TreeSet<>();
ts.add(new Testing());
}
}
输出:
Exception in thread "main" java.lang.ClassCastException: Test
我有一个表示汽车的类:
public class Car implements Comparable<Car> {
String name;
int value;
...
@Override
public int compareTo(Car o) {
return name.compareTo(o.name);
}
}
和另一个表示种族的类:
public class Race {
cars = new HashSet<Car>();
...
public Collection<