小编cod*_*tic的帖子

使用Java 8流收集到Guava的ListMultiMap中

我试图使用java 8收集到ListMultiMap而不使用forEach操作.

如果我在Java 7中编写代码,它将是这样的:

ListMultimap<String, String> result = ArrayListMultimap.create();
     for(State state: states) {
      for(City city: state.getCities()) {
        result.put(state.getName(), city.getName());
      }
    }
Run Code Online (Sandbox Code Playgroud)

我在网上找到了一个网站,讨论如何创建自己的收藏家,以便在这样的场景中使用.我将此实现用于收集器.然后我写了下面的代码:

     ListMultimap<String, String> result = states
        .stream()
        .flatMap(state -> state.getCities().stream()
            .map(city -> {
              return new Pair(state, city);
            }))
        .map(pair -> {
          return new Pair(pair.first().getName(), pair.second().getName()));
        })
        .collect(MultiMapCollectors.listMultimap(
                    Pair::first,
                    Pair::second
                )
        );
Run Code Online (Sandbox Code Playgroud)

但在收集级别,我只能传递一个参数,我似乎找到了传递两个参数的方法.按照网站上的例子,我明白要使用两者,我需要在多图中存储一对"对",如下所示:

ArrayListMultimap<String, Pair> testMap = testObjectList.stream().collect(MultiMapCollectors.listMultimap((Pair p) -> p.first().getName()));
Run Code Online (Sandbox Code Playgroud)

然而,这不是我想要的,我想使用状态的名称和使用java 8的收集器(并且没有forEach)的城市名称收集到ListMultimap中.

有人可以帮助我吗?谢谢!

java guava java-8 java-stream collectors

15
推荐指数
1
解决办法
6382
查看次数

Steam API 获取特定游戏的历史玩家数

我正在使用带有 python 的 Steam api 来获取玩 Dota 2 等游戏的玩家数量。

import requests
import numpy as np
import pandas as pd

def main():

    header = {"Client-ID": "F07D7ED5C43A695B3EBB01C28B6A18E5"}

    appId = 570
    game_players_url = 'https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/?format=json&appid=' + appId
    game_players = requests.get(game_players_url, headers=header)

    print("Game name: Dota 2" + ", Player count: " + str(game_players.json()['response']['player_count']))


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

这使我获得了特定游戏(在本例中为 dota 2)的正确当前玩家数量,但是我需要的是有关该特定游戏的玩家数量的历史数据。这应该是可能的,因为这个站点有我想要的信息,他们可能是从 Steam API 获取数据的。

任何帮助将不胜感激!

谢谢

python json steam-web-api steam

6
推荐指数
1
解决办法
2576
查看次数

标签 统计

collectors ×1

guava ×1

java ×1

java-8 ×1

java-stream ×1

json ×1

python ×1

steam ×1

steam-web-api ×1