0

I am using eclipse plugin, I have 3 hasmap name like hmTextONLY,hmCOMBO1ONLY,hmCOMBO2ONLY(its contains key,value) then I want to make simple linkedhashmap using with same key from above hashmap, and other thing is index of likedhashmap and key of hash map are same.

3 hashmap code is below:

private void fillRows(String shortdesc, String categ, String descp) {
    TableItem ramtableitem = new TableItem(table, SWT.NONE);
    // for Threat_Name
    TableEditor editorTN = new TableEditor(table);
    text_1 = new Text(table, SWT.NONE);
    editorTN.grabHorizontal = true;
    editorTN.setEditor(text_1, ramtableitem, 0);
    text_1.setText(shortdesc);
    Theart_Name = text_1.getText();
    hmTextONLY.put(hmT++, Theart_Name);


     // For Category_Name
    TableEditor editorCN = new TableEditor(table);
    text_2 = new Text(table, SWT.NONE);
    editorCN.grabHorizontal = true;
    editorCN.setEditor(text_2, ramtableitem, 1);
    text_2.setText(categ);
    Category_Name = text_2.getText();
    hmTextONLY.put(hmT++, Category_Name);

     String items[] = { "Mitigated", "Not Applicable", "Not Started",
        "Needs Investigation" };
    Arrays.sort(items);

    final CCombo Status_Combo = new CCombo(table, SWT.NONE);
    Status_Combo.setItems(items);
    TableEditor editor = new TableEditor(table);
    editor.grabHorizontal = true;
    editor.setEditor(Status_Combo, ramtableitem, 2);

    Status_Combo.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
         Status_Name = Status_Combo.getText();
        hmCOMBO1ONLY.put(hmC1, Status_Name);
     }

    public void widgetDefaultSelected(SelectionEvent e) {               
        Status_Name = Status_Combo.getText();               
        hmCOMBO1ONLY.put(hmC1, Status_Name);
        }
    });


    // For Priority_Name
     String itemss[] = { "High", "Medium", "Low" };
      Arrays.sort(itemss);
     final CCombo Priority_Combo = new CCombo(table, SWT.NONE);
     Priority_Combo.setItems(itemss);
      TableEditor editorP = new TableEditor(table);
     editorP.grabHorizontal = true;
     editorP.setEditor(Priority_Combo, ramtableitem, 3);

   Priority_Combo.addSelectionListener(new SelectionListener() {
    public void widgetSelected(SelectionEvent e) {
        System.out.println(Priority_Combo.getText());
        Priority_Name = Priority_Combo.getText();
        hmCOMBO2ONLY.put(hmC2, Priority_Name);
    }

    public void widgetDefaultSelected(SelectionEvent e) {
        System.out.println(Priority_Combo.getText());
        Priority_Name = Priority_Combo.getText();
        hmCOMBO2ONLY.put(hmC2, Priority_Name);
      }
  });
  // For Descrption_Name
    TableEditor editorDN = new TableEditor(table);
    text_3 = new Text(table, SWT.NONE);
    editorDN.grabHorizontal = true;
    editorDN.setEditor(text_3, ramtableitem, 4);
    text_3.setText(descp);
    Descrption_Name = text_3.getText();
    hmTextONLY.put(hmT++, Descrption_Name);

    // For justification
    TableEditor editorJ = new TableEditor(table);
    text_4 = new Text(table, SWT.MULTI | SWT.BORDER | SWT.WRAP
        | SWT.V_SCROLL);
     editorJ.grabHorizontal = true;
    editorJ.setEditor(text_4, ramtableitem, 5);
    Justification_Name = text_4.getText().toString().trim();
    hmTextONLY.put(hmT++, Justification_Name);

}

another method SaveState where I want to merge all hashmap into linkedhashmap. that code given below.

public void saveState(IMemento memento) {

     super.saveState(memento);
    System.out.println("Save State Called");
    System.out.println("row" + table.getItemCount());
    System.out.println("hmTextONLY.size()=====" + hmTextONLY.size());
    Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
}
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
S-IT Java
  • 127
  • 1
  • 13
  • Have you tried [`putAll`](https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#putAll-java.util.Map-) – fabian Sep 28 '16 at 08:04

1 Answers1

0

LinkedHashMap has insertion order of keys, so you can sort your maps and then add them to linked map:

 TreeMap<Integer, String> sortedMap = new TreeMap<>();
 sortedMap.putAll(hmTextONLY);
 sortedMap.putAll(hmCOMBO1ONLY);
 sortedMap.putAll(hmCOMBO2ONLY);
 Map<Integer, String> linkedHashMap = new LinkedHashMap<Integer,String>(sortedMap);
olsli
  • 831
  • 6
  • 8