java 传值与传址_关于 java 的传址和传值

第 1 条附言  ·  2014-09-02 11:33:48 +08:00

public void updateDistMatrix(HashMap > dist_matrix,ArrayList nearestNodePair,HashMap> clusterSet){

Integer user1 = nearestNodePair.get(0);

Integer user2 = nearestNodePair.get(1);

ArrayList set1 = clusterSet.get(user1);

ArrayList set2 = clusterSet.get(user2);

set1.addAll(set2);

clusterSet.remove(user2);

clusterSet.put(user1, set1);

LinkedList list1 = dist_matrix.get(user1);

LinkedList list2 = dist_matrix.get(user2);

LinkedList newList = mergeSort(list1,list2,nearestNodePair);

dist_matrix.remove(user1);

dist_matrix.remove(user2);

dist_matrix.put(user1, newList);

Iterator iter = dist_matrix.keySet().iterator();

while (iter.hasNext()) {

Integer key = iter.next();

LinkedList value = dist_matrix.get(key);

ArrayList occurence = new ArrayList();

int occurIndex = 0;

for(Node node : value){

if(nearestNodePair.get(0)==node.getImsi() || nearestNodePair.get(1)==node.getImsi()){

occurence.add(occurIndex,node);

occurIndex++;

}

}

if(occurence.size() == 0){

continue;

}

if(occurence.size() == 1){

Node node = occurence.get(0);

if(node.getImsi()==user1){

continue;

}

else{

value.remove(node);

node.setImsi(user1);

int mid = findIndex(value,node.getDist());

value.add(mid, node);

dist_matrix.put(key, value);

}

}

if(occurence.size() == 2){

value.remove(occurence.get(1));

Node node = occurence.get(0);

if(node.getImsi()==user1){

continue;

}

else{

value.remove(node);

node.setImsi(user1);

int mid = findIndex(value,node.getDist());

value.add(mid, node);

dist_matrix.put(key, value);

}

}

}

}

}

class Node{

Integer imsi;

Integer dist;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值