我有ArrayList<Integer>
名为nodes
。我想将array []中的元素分配给ArrayList中的元素。这样arraylist中的第一个元素将在数组中包含第一个元素作为其属性..依此类推。但是,数组中只有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++){
}
}
}
答案 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);
}