Запуск IntentService без активности

HashMap не поддерживает какой-либо порядок, поэтому, если вам нужен какой-либо порядок, вам нужно сохранить его в чем-то другом, который является картой и может иметь какой-то порядок, например LinkedHashMap

ниже простая программа, с помощью которой вы можете сортировать по ключу, значению, по возрастанию, по убыванию .. (если вы модифицируете уплотнитель, вы можете использовать любой вид порядка, на клавишах и значениях)

package com.edge.collection.map;

import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class SortMapByKeyValue {
Map map = new HashMap();

public static void main(String[] args) {

    SortMapByKeyValue smkv = new SortMapByKeyValue();
    smkv.createMap();

    System.out.println("After sorting by key ascending order......");
    smkv.sortByKey(true);

    System.out.println("After sorting by key descindeng order......");
    smkv.sortByKey(false);

    System.out.println("After sorting by value ascending order......");
    smkv.sortByValue(true);

    System.out.println("After sorting by value  descindeng order......");
    smkv.sortByValue(false);

}

void createMap() {
    map.put("B", 55);
    map.put("A", 80);
    map.put("D", 20);
    map.put("C", 70);
    map.put("AC", 70);
    map.put("BC", 70);
    System.out.println("Before sorting......");
    printMap(map);
}

void sortByValue(boolean order) {

    List> list = new LinkedList>(map.entrySet());
    Collections.sort(list, new Comparator>() {
        public int compare(Entry o1, Entry o2) {
            if (order) {
                return o1.getValue().compareTo(o2.getValue());
            } else {
                return o2.getValue().compareTo(o1.getValue());

            }
        }
    });
    Map sortedMap = new LinkedHashMap();
    for (Entry entry : list) {
        sortedMap.put(entry.getKey(), entry.getValue());
    }
    printMap(sortedMap);

}

void sortByKey(boolean order) {

    List> list = new LinkedList>(map.entrySet());
    Collections.sort(list, new Comparator>() {
        public int compare(Entry o1, Entry o2) {
            if (order) {
                return o1.getKey().compareTo(o2.getKey());
            } else {
                return o2.getKey().compareTo(o1.getKey());

            }
        }
    });
    Map sortedMap = new LinkedHashMap();
    for (Entry entry : list) {
        sortedMap.put(entry.getKey(), entry.getValue());
    }
    printMap(sortedMap);
}

public void printMap(Map map) {
    // System.out.println(map);
    for (Entry entry : map.entrySet()) {
        System.out.println(entry.getKey() + " : " + entry.getValue());
    }
}
}

здесь является git link

0
задан Manav 13 July 2018 в 13:27
поделиться

1 ответ

Вам необходимо зарегистрировать услугу с помощью BroadcastReceiver

. Здесь есть программа sample .

Проверьте на этом ответ на перезапуск службы при перезагрузке устройства

Документация BroadcastReceiver

Надеюсь, что это поможет.

1
ответ дан Kunj Mehta 17 August 2018 в 12:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: