जावा में अनुक्रम में दूसरा सबसे अधिक दोहराया जाने वाला शब्द खोजने के लिए, कोड इस प्रकार है -
उदाहरण
import java.util.*; public class Demo{ static String second_repeated(Vector<String> my_seq){ HashMap <String, Integer> my_map = new HashMap<String,Integer>(my_seq.size()){ @Override public Integer get(Object key){ return containsKey(key) ? super.get(key) : 0; } }; for (int i = 0; i < my_seq.size(); i++) my_map.put(my_seq.get(i), my_map.get(my_seq.get(i))+1); int first_val = Integer.MIN_VALUE; int sec_val = Integer.MIN_VALUE; Iterator<Map.Entry<String, Integer>> my_iter = my_map.entrySet().iterator(); while (my_iter.hasNext()){ Map.Entry<String, Integer> ent = my_iter.next(); int v = ent.getValue(); if( v > first_val){ sec_val = first_val; first_val = v; } else if (v > sec_val && v != first_val) sec_val = v; } my_iter = my_map.entrySet().iterator(); while (my_iter.hasNext()){ Map.Entry<String, Integer> ent = my_iter.next(); int v = ent.getValue(); if (v == sec_val) return ent.getKey(); } return null; } public static void main(String[] args){ String arr[] = {"This", "sample", "only", "anything", "sample", "from", "sample","only"}; List<String> my_seq = Arrays.asList(arr); System.out.println("The second most repeated word in the sequence is : "); System.out.println(second_repeated(new Vector<>(my_seq))); } }
आउटपुट
The second most repeated word in the sequence is : Only
डेमो नामक एक वर्ग में 'सेकेंड_रिपीटेड' फ़ंक्शन होता है जो हैश मैप बनाता है और 'गेट' फ़ंक्शन को ओवरराइड करता है जो हैश मैप में एक विशिष्ट मान की कुंजी देता है। एक पुनरावर्तक बनाया जाता है, और बाद के तत्वों को 'hasNext' फ़ंक्शन का उपयोग करके पुनरावृत्त किया जाता है।
इटरेटर यह देखने के लिए जाँच करता है कि शब्दों को कितनी बार दोहराया गया था और सबसे अधिक बार दोहराया जाने वाला पहला शब्द पाया और संग्रहीत किया जाता है। फिर से वह क्रिया की जाती है जो
दूसरा सबसे अधिक दोहराया जाने वाला शब्द दें। मुख्य वर्ग में एक स्ट्रिंग सरणी और एक सूची होती है। यह स्ट्रिंग सरणी एक सूची में भी परिवर्तित हो जाती है। इस नई सूची में 'सेकेंड_रिपीटेड' फ़ंक्शन को कॉल किया जाता है और संबंधित आउटपुट कंसोल पर प्रदर्शित होता है।