迭代数组并分配每个值

时间:2015-03-24 18:06:51

标签: arrays iterator reducers

我需要一个reducer来迭代一个数组并分配每个元素(总共2个元素)。但是我的代码是否采用了所有值并简单地将其分配给密钥?

例如:

     public void reduce(Text key, Iterator<Text[]> values,
     OutputCollector<Text, Text[]> output, Reporter reporter)
     throws IOException {

这种方法只是将我的所有数组转储到值桶中吗?

有没有办法使用While循环来获取Text []的每个元素并将其分配给int?

这是我的开始:

      while (values.hasNext()){
                String AtBats = values.toString();
                int AB = Integer.parseInt(AtBats);

这将获取每个值并使其成为AtBat,但我希望第二个元素是Hit。对如何实现这一点感到困惑。

1 个答案:

答案 0 :(得分:6)

据我的回答,您希望获取您的值,然后将它们解析为字符串。

你把一切都搞定了,但我建议你内联AtBats并将其作为

int AB = Integer.parseInt(values.toString());

更新:在谈到这个之后,我们得出的结论是,传递一个数组并循环遍历它是多余的。

不是传递带有两个值的数组,而是使用while循环来遍历它并将其值分配给两个变量,只需将这些值独立传递下去。