Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查按月份排序的星座_Java - Fatal编程技术网

Java 检查按月份排序的星座

Java 检查按月份排序的星座,java,Java,有一个网页包含按月份排序的黄道带列表,如:(“白羊座”、“3月21日至4月19日”)、(“金牛座”、“4月20日至5月20日”)、(“双子座”、“5月21日至6月20日”)、(“癌症”、“6月21日至7月22日”)… 有一个选项可以将一些生肖添加到收藏夹中,收藏夹的星座将按排序顺序列在第一个星座上,其余的生肖也将按排序顺序列在收藏夹之后。 例如,我通过用户界面在收藏夹中添加了以下标志 ("Taurus", "April 20 - May 20"),("Libra", "September 23

有一个网页包含按月份排序的黄道带列表,如:
(“白羊座”、“3月21日至4月19日”)、(“金牛座”、“4月20日至5月20日”)、(“双子座”、“5月21日至6月20日”)、(“癌症”、“6月21日至7月22日”)…
有一个选项可以将一些生肖添加到收藏夹中,收藏夹的星座将按排序顺序列在第一个星座上,其余的生肖也将按排序顺序列在收藏夹之后。 例如,我通过用户界面在收藏夹中添加了以下标志

("Taurus", "April 20 - May 20"),("Libra", "September 23 - October 22"),("Aquarius", "January 20 - February 18")
在UI中,它将以以下方式显示

"Taurus", "April 20 - May 20"
"Libra", "September 23 - October 22"
"Aquarius", "January 20 - February 18"

"Aries", "March 21 - April 19"
"Gemini", "May 21 - June 20"
"Cancer", "June 21 - July 22"
"Leo", "July 23 - August 22"
"Virgo", "August 23 - September 22"
"Scorpio", "October 23 - November 21"
"Capricorn", "November 22 - December 21"
"Pisces", "February 19 - March 20"
我的主要目的是验证添加的收藏夹是按月份排序的。另外,剩余的黄道带也是按月份排序的。 并从
xml
文件中验证已排序的月份。将一些生肖添加到收藏夹后,我将得到一个
xml
响应,其中包含生肖列表。我正在解析xml,以获得带有“3月21日-4月19日”的生肖符号 把它放在地图上

Map<String,String> ZodiacMap = new HashMap<String,String>();    
还押黄道带

zodiacMap1.put("Aries", "March 21 - April 19");
zodiacMap1.put("Gemini", "May 21 - June 20");
zodiacMap1.put("Cancer", "June 21 - July 22");
zodiacMap1.put("Leo", "July 23 - August 22");
zodiacMap1.put("Virgo", "August 23 - September 22");
zodiacMap1.put("Scorpio", "October 23 - November 21");
zodiacMap1.put("Capricorn", "November 22 - December 21");
zodiacMap1.put("Pisces", "February 19 - March 20");
从地图上我需要验证最喜欢的生肖是按月份排序的,也要验证重新命名的生肖是按月份排序的


它是多么的容易…?

有很多可能的方法可以做到这一点。这里有一个例子

创建一个名为
Zodiac
的类,包含以下字段:

  • 名称、示例值:“双子座”
  • 月份(从开始日期算起),示例值:5(对于五月)
  • 文本,示例值:“5月21日至6月20日”
还实现了一个
比较器
,它将通过
字段比较
黄道带
对象

例如:

Comparator<Zodiac> byMonthComparator = new Comparator<>() {
    int compare(Zodiac o1, Zodiac o2) {
        return Integer.compare(o1.month, o2.month);
    }
}
SortedSet<Zodiac> all = new TreeSet<>();
all.add(new Zodiac("Gemini", 5, "May 21 - June 20");
all.add(...);
...

使用提供的逻辑u,我想我可以检查从xml响应创建的zodiacMap1的排序顺序???还有什么方法可以使用enum?您可以使用其中两个排序集,一个是“static and full”,一个是所有12个,另一个是从空开始的收藏夹。要显示,请枚举所有FAV,然后循环遍历完整集合中的所有条目,如果该条目不是FAV的成员,则显示该条目
SortedSet<Zodiac> all = new TreeSet<>();
all.add(new Zodiac("Gemini", 5, "May 21 - June 20");
all.add(...);
...