fork(5) download
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.List;
  5. class RecordGroup {
  6.  
  7. private String owner;
  8. private Integer startRow;
  9. private Integer recordCount;
  10.  
  11. public RecordGroup() {
  12. }
  13.  
  14. public RecordGroup(String owner, Integer startRow, Integer recordCount) {
  15. this.owner = owner;
  16. this.startRow = startRow;
  17. this.recordCount = recordCount;
  18. }
  19.  
  20. public String getOwner() {
  21. return owner;
  22. }
  23.  
  24. public void setOwner(String owner) {
  25. this.owner = owner;
  26. }
  27.  
  28. public Integer getRecordCount() {
  29. return recordCount;
  30. }
  31.  
  32. public void setRecordCount(Integer recordCount) {
  33. this.recordCount = recordCount;
  34. }
  35.  
  36. public Integer getStartRow() {
  37. return startRow;
  38. }
  39.  
  40. public void setStartRow(Integer startRow) {
  41. this.startRow = startRow;
  42. }
  43. @Override
  44. public String toString() {
  45. return owner + " , " + startRow + "\n";
  46. }
  47. }
  48.  
  49. class Test {
  50.  
  51.  
  52.  
  53.  
  54. public static void main(String a[]){
  55. List<RecordGroup> mergerMap = new ArrayList<RecordGroup>();
  56. mergerMap.add(new RecordGroup("RECORD", 1, 6));
  57. mergerMap.add(new RecordGroup("RECORD", 7, 9));
  58. mergerMap.add(new RecordGroup("RECORD", 3, 4));
  59. mergerMap.add(new RecordGroup("ZONE", 3, 1));
  60. mergerMap.add(new RecordGroup("MODULE", 5, 6));
  61. mergerMap.add(new RecordGroup("ZONE", 14, 28));
  62. mergerMap.add(new RecordGroup("ZONE", 6, 30));
  63. mergerMap.add(new RecordGroup("MODULE", 1, 60));
  64. mergerMap.add(new RecordGroup("OFFICE", 2, 4));
  65. mergerMap.add(new RecordGroup("OFFICE", 8, 6));
  66. mergerMap.add(new RecordGroup("USER", 1, 6));
  67. mergerMap.add(new RecordGroup("USER", 9, 8));
  68. mergerMap.add(new RecordGroup("USER", 5, 7));
  69. mergerMap.add(new RecordGroup("OFFICE", 3, 1));
  70. Collections.sort(mergerMap, new Comparator<RecordGroup>() {
  71.  
  72. public int compare(RecordGroup o1, RecordGroup o2) {
  73. if (o1.getOwner().compareTo(o2.getOwner()) == 0) {
  74. return o1.getStartRow() - o2.getStartRow();
  75. } else {
  76. return o1.getOwner().compareTo(o2.getOwner());
  77. }
  78. }
  79. });
  80. System.out.println(mergerMap);
  81. }
  82. }
Success #stdin #stdout 0.08s 380224KB
stdin
Standard input is empty
stdout
[MODULE , 1
, MODULE , 5
, OFFICE , 2
, OFFICE , 3
, OFFICE , 8
, RECORD , 1
, RECORD , 3
, RECORD , 7
, USER , 1
, USER , 5
, USER , 9
, ZONE , 3
, ZONE , 6
, ZONE , 14
]