- Баллы
- 143
- Имя в Minecraft
- gamerforEA_MCPC
Самый лучший последний, так как позволяет избежать NullPointerException.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Я думаю мне лучше сейчас юзать короткий вариант, т.к я использую сейчас в if() его.Последний вариант проверяет - есть ли такой параметр вообще или я чего то не понимаю?
Последний
Я думаю мне лучше сейчас юзать короткий вариант, т.к я использую сейчас в if() его.
Самый лучший последний, так как позволяет избежать NullPointerException.
Если увеличиваемое число будет отсутствовать в таблице, то вылетит NPE, так что лучше использовать последний вариант. В идеале его нужно реализовать в виде отдельного метода.Я думаю мне лучше сейчас юзать короткий вариант, т.к я использую сейчас в if() его.
Тогда мне нужно создавать много методов - бред.Если увеличиваемое число будет отсутствовать в таблице, то вылетит NPE, так что лучше использовать последний вариант. В идеале его нужно реализовать в виде отдельного метода.
public static <R, C> int incrementValue(Table<R, C, Integer> table, R row, C column)
{
Integer number = table.get(row, column);
number = number == null ? 1 : number + 1;
table.put(row, column, number);
return number;
}
incrementValue(table, "Петя", "case");
Много методов? С чего бы это?Тогда мне нужно создавать много методов - бред.
Пока сделаю второй вариант, посмотрим что да как выйдет.
Ваш подход означает, что в мире станет одним глючным плагином больше. Если есть возможность избежать потенциальной ошибки, то лучше это сделать.Тогда мне нужно создавать много методов - бред.
Пока сделаю второй вариант, посмотрим что да как выйдет.
Ваш подход означает, что в мире станет одним глючным плагином больше. Если есть возможность избежать потенциальной ошибки, то лучше это сделать.
Сделал метод для увеличения числа в таблице на единицу. Возвращает новое число.
Использовать так:Java:public static <R, C> int incrementValue(Table<R, C, Integer> table, R row, C column) { Integer number = table.get(row, column); number = number == null ? 1 : number + 1; table.put(row, column, number); return number; }
Java:incrementValue(table, "Петя", "case");
А если я захочу очистить петины еденицы?
table.remove("Петя", "case");
Элементарно.Я создаю hashmap ...
Дальше хочу создать put
Main.perks.put(p.getName(), "case", число);
Как сделать чтобы сюда вписывалось число?
Решение же уже описали вышеЭлементарно.
HashMap<String, HashMap<?, ?>> map = new HashMap<String, HashMap<?, ?>>();
HashMap<String, Integer> map2 = new HashMap<String, Integer>();
map2.put("case", 10);
map.put(p, map2);
Тут решение без сторонних библиотек.Решение же уже описали выше
Сомневаюсь, что в данном случае стоит считать Guava сторонней библиотекой, ведь она уже есть в ядре => лучше не городить свои костыли, а применить удобное проверенное решение.Тут решение без сторонних библиотек.
А чем это не удобное и не проверенное? И так можно хранить любое число мап.Сомневаюсь, что в данном случае стоит считать Guava сторонней библиотекой, ведь она уже есть в ядре => лучше не городить свои костыли, а применить удобное проверенное решение.
В вашем случае ТС'у придётся вручную контролировать работу с этими мапами, а так как знания Java у него посредственные, то вероятность сделать ошибку сильно возрастает. При использовании же Table можно просто вызывать готовые методы.А чем это не удобное и не проверенное? И так можно хранить любое число мам.

public class Meta {
private final String type;
private int value;
private boolean isNecessary;
public Meta(String type, int value, boolean isNecessary) {
this.type = type;
this.value = value;
this.isNecessary = isNecessary;
}
//ну и дальше инкапсуляции и нужные мне методы
}
private final HashMap<String, Meta> metas = new HashMap<>();
Не только ты, но тс не осилил банальную мапу. Думаешь это он осилит?И только я пользуюсь классами для хранения мультизначений?
Java:public class Meta { private final String type; private int value; private boolean isNecessary; public Meta(String type, int value, boolean isNecessary) { this.type = type; this.value = value; this.isNecessary = isNecessary; } //ну и дальше инкапсуляции и нужные мне методы }
Java:private final HashMap<String, Meta> metas = new HashMap<>();
Не только. Я, например, тоже пользуюсь. И удобнее, и производительность выше.И только я пользуюсь классами для хранения мультизначений?
Java:public class Meta { private final String type; private int value; private boolean isNecessary; public Meta(String type, int value, boolean isNecessary) { this.type = type; this.value = value; this.isNecessary = isNecessary; } //ну и дальше инкапсуляции и нужные мне методы }
Java:private final HashMap<String, Meta> metas = new HashMap<>();
Ну на счёт производительности я сомневаюсь (только давайте без замеров затрат наносекунд), но это точно удобнее.Не только. Я, например, тоже пользуюсь. И удобнее, и производительность выше.
Имхо, это изич. В конце концов, java это ООП, а не процедурный яп.Не только ты, но тс не осилил банальную мапу. Думаешь это он осилит?