मैंने एक हैश मैप ऑब्जेक्ट बनाया है जो एक स्ट्रिंग को int और इसी मान के रूप में संग्रहीत करता है। अब मैं प्राथमिकता कतार रखना चाहता हूं जिसमें सभी स्ट्रिंग मौजूद हैं जो मैश मैप ऑब्जेक्ट में मौजूद हैं, प्राथमिकताओं को निर्दिष्ट करने के संदर्भ के रूप में मूल्य के साथ। मैं निम्नलिखित कोड लिखा हैजावा में हैश मैप ऑब्जेक्ट के लिए प्राथमिकता कतार
public class URIQueue {
private HashMap<String,Integer> CopyQURI;
private PriorityQueue<String> QURI;
public class TComparator<String> {
public int compareTo(String s1, String s2) {
if (CopyQURI.get(s2) - CopyQURI.get(s1) >= 0) {
return 1;
} else {
return 0;
}
}
}
public URIQueue() {
CopyQURI=new HashMap<>(100);
TComparator<String> tc=new TComparator<>();
QURI=new PriorityQueue<>(100, tc); //Line x
}
}
लाइन एक्स त्रुटि दिखा रहा है प्राथमिकता कतार के लिए प्रकार तर्क अनुमान नहीं लगा सकता। कृपया मुझे मार्गदर्शन करें कि मैंने क्या गलती की है।
इस प्रकार का "परिवर्तनीय तुलनित्र" बेहद खतरनाक और बग-प्रोन हो सकता है। स्ट्रिंग और पूर्णांक को एकसाथ पकड़ने के लिए आप शायद एक नई कक्षा बनाने से बेहतर हो। –