fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class Ideone {
  8. public static void main(String[] args) {
  9.  
  10. // create an empty array list with an initial capacity
  11. ReorderingList rlist = new ReorderingList();
  12.  
  13. // use add() method to add elements in the list
  14. rlist.add("bob");
  15. rlist.add("pat");
  16. rlist.add("tan");
  17. rlist.add("bob");
  18. rlist.add("mat");
  19. rlist.add("cat");
  20. rlist.add("dog");
  21. rlist.add("cat");
  22.  
  23. List<String> arrlist = rlist.asList();
  24.  
  25. // let us print all the elements available in list
  26. for (String number : arrlist) {
  27. System.out.println("String = " + number);
  28. }
  29.  
  30. // retrieves element at 4th postion
  31. String retval=arrlist.get(3);
  32. System.out.println("Retrieved element is = " + retval);
  33. }
  34.  
  35. public static class ReorderingList {
  36. private LinkedHashMap<String, Integer> items =
  37. new LinkedHashMap<String, Integer>();
  38.  
  39. public void add(String item) {
  40. Integer value = items.get(item);
  41. if (value == null) value = 0;
  42. value++;
  43. items.put(item, value);
  44. }
  45.  
  46. public List<String> asList() {
  47. List<String> result = new ArrayList<String>();
  48. for(Map.Entry<String, Integer> entry : items.entrySet()) {
  49. for (int i=0; i < entry.getValue(); i++) {
  50. result.add(entry.getKey());
  51. }
  52. }
  53. return result;
  54. }
  55. }
  56. }
Success #stdin #stdout 0.08s 380160KB
stdin
Standard input is empty
stdout
String = bob
String = bob
String = pat
String = tan
String = mat
String = cat
String = cat
String = dog
Retrieved element is = tan