有两个类Auction
和Lot
。如何存储数据:Client (Thread) 和 Bid (int) 这样的数据结构可以很容易地被 Bid(lot.Max) 搜索并返回相关的 Client 对象?
public class Lot {
public HashMap<ClientThread, Integer> mapBids= new HashMap<ClientThread, Integer>();
}
public class Auction {
List<Lot> lots = new ArrayList<Lot>();
for(Lot lot: lots){
int lastBid = lot.BiggestBid;
...
// How to get Client object which has "lot.BiggestBid" ?
System.out.println(
lot.mapBids.get(lot.BiggestBid).someClientThreadMethod(args)); // wrong
}
}
可能我需要Lot
一个数据结构来保存一对Client
and BiggestBid
,并且可以返回Client
谁拥有BiggestBid
......
对于某些实体,Client 和/或 BiggestBid 可以相同。
也许两个并行阵列会起作用。