PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

किसी दिए गए पैटर्न के अनुसार सूची में आइटम को पुनर्व्यवस्थित कैसे करें?

मुझे लगता है कि आपको क्वेरी के परिणाम को कोड में फिर से क्रमित करना होगा:

public static void main(String[] args) {

    List<Integer> ids = Arrays.asList(5, 3, 2, 4, 1, 6);
    List<Foo> results = Arrays.asList(new Foo(1), new Foo(8), new Foo(2), new Foo(4), new Foo(5), new Foo(7));

    System.out.println("sortResults1: " + sortResults1(ids, results));
    System.out.println("sortResults2: " + sortResults2(ids, results));
}

private static List<Foo> sortResults1(List<Integer> ids, List<Foo> results) {
    Foo[] sortedResultsArray = new Foo[ids.size()];
    for (Foo result : results) {
        // look up the required position of this result's id 
        int pos = ids.indexOf(result.getId());
        if (pos >= 0) {
            sortedResultsArray[pos] = result;
        }
    }
    List<Foo> sortedResults = new ArrayList<>(Arrays.asList(sortedResultsArray));
    sortedResults.removeAll(Collections.singleton(null));
    return sortedResults;
}

private static List<Foo> sortResults2(List<Integer> ids, List<Foo> results) {
    Collections.sort(results, Comparator.comparingInt(item -> ids.indexOf(item.getId())));
    return results;
}

पहला समाधान आईडी के साथ किसी भी परिणाम को छोड़ देता है जो आईडी की सूची में नहीं होता है।

तुलनित्र के साथ दूसरा समाधान किसी भी परिणाम को अज्ञात आईडी के साथ परिणाम सूची में सबसे आगे रखता है।

आउटपुट:

नोट:यहां एक समान प्रश्न मिला:एक क्रमबद्ध करें ( ऐरे)एक विशिष्ट क्रम के साथ सूची ट्रीमैप के साथ इसका उचित उत्तर है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब मैं पाइथन मैनेज.पी मेकमाइग्रेशन और माइग्रेट को उत्साहित करता हूं तो कोई बदलाव नहीं पाया गया

  2. PostgreSQL के लिए सर्वश्रेष्ठ DBaaS समाधान

  3. एक नियम का उपयोग करके स्वचालित रूप से एक भौतिक दृश्य को ताज़ा करें या सूचित करें

  4. यदि कोई मेल नहीं खाता है तो पहले रिकॉर्ड का चयन करें

  5. PostgreSQL में XMLTABLE