对于学校我正在构建一个多人游戏。在这个游戏中,我有一个大厅里的球员名单。此列表包含播放器的ID和播放器的spritename。这是我的价值观。作为关键,我会把大厅的钥匙。我正在和Hashmap一起工作。
当我想连接到大厅时,我必须知道播放器是否已经在hashmap中,所以我需要一个foreach循环来检查它。但我不知道如何做到这一点,即使这是可能的。
private HashMap<Integer, List<String>> playersInLobby;
public IRemotePublisherForListener connect(int playerID, String spriteName, int lobbyID)
{
boolean found = false;
for (int i = 0; playersInLobby.containsKey(lobbyID);)
{
if (playersInLobby.get(lobbyID).get(0) == playerID + "")
{
found = true;
}
}
if (!found)
{
playersInLobby.put(lobbyID, new ArrayList<>(Arrays.asList(playerID + "", spriteName)));
}
return publisher;
}
答案 0 :(得分:0)
如果你有更多的抽象,这将更容易解决和推理。如果您创建了一个public static void main(String[] args) {
try {
String element = null;
int numberOfInput = 0, numberOfStates = 0;
ArrayList<Integer> inputs = new ArrayList<Integer>();
ArrayList<Integer> states = new ArrayList<Integer>();
//for creating excel sheet
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet(element);
int rowCount = 0;
for (int i=0;i<states.size();i++) {
Row row = sheet.createRow(++rowCount);
//int columnCount = 0;
row.createCell(i).setCellValue(states.get(i));
}
FileOutputStream outputStream = new FileOutputStream(element+".xlsx");
workbook.write(outputStream);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
,它将大厅ID映射到大厅,以及一个聚合id和精灵名称的Map<Integer, Lobby>
类。这很简单:
Player