我有一个ArrayList<Integer>
叫nodes
。我想将 array[] 中的元素分配给 ArrayList 中的元素。这样 arraylist 中的第一个元素将具有 array 中的第一个元素作为其属性..等等。然而,数组中只有 6 个元素,因此第 7 个元素又是 array[] 中的第一个元素。数组的类型为 Integer。
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++){
}
}
}
最佳答案
听起来您需要一个带有 Map
的 Node
类来存储首选项。
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);
}
关于java - 在Java中将字符串数组追加到Integer类型的数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22384662/