2014-03-13 49 views
0

我有一個叫nodesArrayList<Integer>。我想將數組[]中的元素分配給ArrayList中的元素。 ArrayList中的第一個元素將具有第一個元素作爲其屬性..等等。但是,array中只有6個元素,因此第7個元素是array []中的第一個元素。數組的類型是Integer。將字符串數組追加到Java中Integer類型的ArrayList中

public static String[] Interest = new String[] {"I1","I2","I3","I4","I5","I6"}; 

public static void main(String[] args){ 
    System.out.println("Enter number of nodes"); 
    Scanner sc = new Scanner(System.in); 

    int n = sc.nextInt(); 
    for(int i=0;i<=n;i++) { 
     nodes.add(i); 
    } 

    System.out.println(nodes); 
} 

我想爲node中的每個元素設置一個興趣配置文件。爲此,我有一個名爲Interest的數組,其中包含6個元素。現在說node中的第一個元素,我想設置興趣的偏好。例如,第一個元素可能具有興趣概況,如I1 = 10,I2 = 8,...,I6 = 2等等。

我正在考慮使用像SetIntensity(ArrayList element, array of integers)這樣的方法,它將爲作爲參數傳遞的元素設置興趣概要文件。我不知道這是否是正確的,但我希望是這樣的:

public static void setInterest(List<String> array){ 

    String[] Interest = new String[]{"I1","I2","I3","I4","I5","I6"}; 

    for(int k=0;k<array.size();k++){ 
     array.get(k); 
     for(int j=0;j<Interest.length;j++){ 

     } 
    } 
} 
+1

您可以發佈您的數組轉換成列表的方法不爲你工作的代碼? – NESPowerGlove

+2

請提供「節點」的聲明。另外,請澄清預期的情況和實際發生的情況。 – Arkadiy

+0

我編輯了問題。請檢查。謝謝。 –

回答

2

聽起來像是你需要一個Node類與Map存儲的偏好。

class Node { 

    Integer id; 
    Map<String, Integer> interestPreferences; 

    public Node(Integer id) { 
     this.id = id; 
     this.interestPreferences = new HashMap<String, Integer>(); 
    } 

    void setPreference(String key, Integer value) { 
     interestPreferences.put(key, value); 
    } 

    Interest getPreference(String key) { 
     return interestPreferences.get(key); 
    } 
} 

然後使用它是這樣的:

public static List<Node> nodes = new ArrayList<Node>(); 
public static String[] Interest = new String[] {"I1","I2","I3","I4","I5","I6"}; 

public static void main(String[] args){ 
    System.out.println("Enter number of nodes"); 
    Scanner sc = new Scanner(System.in); 

    int n = sc.nextInt(); 
    for(int i=0;i<=n;i++) { 
     Node node = new Node(i); 
     node.setPreference("I1", 10); 
     node.setPreference("I2", 8); 
     //.... 
     node.setPreference("I6", 2); 
     nodes.add(node); 
    } 

    System.out.println(nodes); 
} 
+0

這個代碼比我發佈的代碼還多。我只希望我的其他方法在我創建類型爲的列表時也能解決。謝謝你的答案。 –

相關問題