比较并检查两张地图的顺序

时间:2016-03-19 15:02:53

标签: java

我有一个黄道带地图,按照以下顺序存储黄道带标志

TetrisWindow

在UI中,一些星座被添加为收藏,并保持在另一个带有添加生肖的地图中将被列在地图的顶部。

此处Map<String,String> ZodiacMap = new HashMap<String,String>(); zodiacMap.put("Aries", "March 21 - April 19"); zodiacMap.put("Taurus", "April 20 - May 20"); zodiacMap.put("Gemini", "May 21 - June 20"); zodiacMap.put("Cancer", "June 21 - July 22"); zodiacMap.put("Leo", "July 23 - August 22"); zodiacMap.put("Virgo", "August 23 - September 22"); zodiacMap.put("Libra", "September 23 - October 22"); zodiacMap.put("Scorpio", "October 23 - November 21"); zodiacMap.put("Capricorn", "November 22 - December 21"); zodiacMap.put("Aquarius", "January 20 - February 18"); zodiacMap.put("Pisces", "February 19 - March 20"); 已添加为收藏

我必须验证添加为喜爱的十二生肖符号是否在排序顺序中同时验证剩余的十二生肖是否按照排序顺序。

Tarus,Libra,Scrorpio,Aquarius

我不知道如何为ablove问题编写逻辑。 请提供示例代码。

还有其他方法可以做到这一点。除了使用map(比如enum?)

2 个答案:

答案 0 :(得分:5)

这是一个// Deactivate default MediaElement.js styles by WordPress function remove_mediaelement_styles() { if( is_home() ) { wp_dequeue_style('wp-mediaelement'); wp_deregister_style('wp-mediaelement'); } } add_action( 'wp_print_styles', 'remove_mediaelement_styles' ); // Add own custom CSS file to reskin the audio player function add_audio_player_styles () { if( is_home() ) { wp_enqueue_style('mini-audio-player', get_stylesheet_directory_uri() . '/assets/mediaelement/mediaelementplayer.css', array(), null ); } } add_action( 'wp_enqueue_scripts', 'add_audio_player_styles'); ,可以与开始日期进行比较。我刚刚添加enum作为示例,但目标是让所有十二生肖都有。

Aries

enum Zodiac {
    Aries("March 21", "April 19");

    LocalDate begin, end;
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM DD");

    Zodiac(String begin, String end){
        this.begin = LocalDate.parse(begin, dtf);
        this.end = LocalDate.parse(end, dtf);
    }

    public int compareToOtherZodiac(Zodiac o) {
        return this.begin.compareTo(o.begin);
    }
}

答案 1 :(得分:1)

我看到它的方式你应该使用具有完全相同逻辑的LinkedHashMap。它将保持插入的顺序。

也可以使用带有自定义比较器的TreeMap,但收藏夹很难保持在顶部。