java точка на карте не работает в цикле for - PullRequest
0 голосов
/ 06 февраля 2020

Я новичок в классе Map, и мне было интересно, что я делаю неправильно. Ниже приведен класс, над которым я работаю, чтобы изучать Карты.

import java.util.*;  
public class Maptester{
  Map<Integer, String> map = new HashMap<Integer, String>();
  public Maptester(String[] x){
    for(int i = 0; i > x.length; i++) map.put(i, x[i]);
  }
  public Maptester(ArrayList<String> x){
    for(int i = 0; i > x.size(); i++) map.put(i, x.get(i));
  }
  public String toString(){
    String x = "";
    for(Map.Entry m:map.entrySet()){  
      x += (m.getKey()+" "+m.getValue()+"\n");
    } return x; 
  }
}

Это основной класс, которым я пользуюсь.

import java.util.*;
class Main {
  public static void main(String[] args) {
    String[] x = {"x", "y", "z"};
    Maptester b = new Maptester(x);
    System.out.print(b);
  }
}

Вывод для этого ничего, по какой-то причине ничего ставится в карту в для l oop вверху, и я не понимаю, почему.

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Вы проверяете неверный предикат в для l oop. Это сделает работу:

public class Maptester{
  Map<Integer, String> map = new HashMap<Integer, String>();
  public Maptester(String[] x){
    for(int i = 0; i < x.length; i++) map.put(i, x[i]);
  }
  public Maptester(ArrayList<String> x){
    for(int i = 0; i < x.size(); i++) map.put(i, x.get(i));
  }
  public String toString(){
    String x = "";
    for(Map.Entry m:map.entrySet()){  
      x += (m.getKey()+" "+m.getValue()+"\n");
    } return x; 
  }
}
0 голосов
/ 06 февраля 2020

В поле для l oop вы ввели неверный оператор сравнения ">" вместо "<". Правильный код будет: </p>

public Maptester(String[] x){
    for(int i = 0; i < x.length; i++) map.put(i, x[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...