第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 arraylist 創(chuàng)建哈希映射元組 - Java

從 arraylist 創(chuàng)建哈希映射元組 - Java

慕無忌1623718 2021-09-29 13:22:42
我正在嘗試迭代我在 Java 中存儲在 ArrayList 中的以下數據。這個 ArrayList 被稱為“T”:outlook    temperature    humidity    windy    playsunny      hot            high        False    Noovercast   hot            low         True     Norainy      cool           normal      True     Nosunny      hot            normal      False    Yes我想為每一列獲取這樣的圖表,以便我獲得按是或否(播放列)分組的每列的出現次數:outlook          play            Yes        Nosunny        1          1overcast     1          1rainy        0          1我真的不太了解Java。但是,我已經看到我需要為此使用一個哈希圖元組,因為我需要像這樣對幾個屬性進行分組(總是與“播放”列相比)。到目前為止,我的代碼是這樣的(但我確定它不起作用)。有人可以幫我嗎?謝謝Map<String, Integer> mapOutput = new HashMap();    for (List<String> input: T) {         if (mapOutput.containsKey(input.get(input.size()-1))) {             mapOutput.put(input.get(input.size()-1), mapOutput.get(input.get(input.size()-1)) + 1);        } else {            mapOutput.put(input.get(input.size()-1), 1);        }    }
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

我將在這里做出一些瘋狂的猜測,因為從這個問題中,初始數據結構和所需的輸出都不清楚:

  1. 表示的表格數據TList<List<String>>

  2. 您想按每列分組,計算列中出現的值等于 的行數Yes和出現的值等于Noplay行數

如果這些假設成立,您可以按如下方式實現:

Map<String, Map<Boolean, Long>> result = T.stream()

    .collect(Collectors.groupingBy(

        input -> input.get(columnIndex),

        Collectors.partitioningBy(

            input -> "Yes".equals(input.get(input.size() - 1)),

            Collectors.counting())));

其中columnIndex是參數,其值為0for outlook、1fortemperature等,即它匹配要分組的列的索引。


這假設該play列始終是每一行的最后一列,并且既沒有空值也沒有缺失值。字符串也必須修剪,即沒有空格、制表符等。


查看完整回答
反對 回復 2021-09-29
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號