Я всегда был один, чтобы просто использовать:
List names = new ArrayList<>();
Я использую интерфейс в качестве имени типа для переносимости , так что когда я задаю такие вопросы, я могу переделать свой код.
Когда LinkedList
должен быть использован более
Если у меня есть объект, реализующий интерфейс Map
на Java, и я хочу перебирать каждую пару, содержащуюся в нем, что является наиболее эффективным способом прохождения карты?
Будет ли порядок элементов зависеть от конкретной реализации карты, которая у меня есть для
...Я хочу создать список вариантов для тестирования. Сначала я сделал это:
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
Затем я реорганизовал код следующим образом:
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
Есть лучший способ
...Я относительно новичок в Java и часто нахожу, что мне нужно отсортировать Map
по значениям.
Так как значения не являются уникальными, я нахожу себя конвертирующим keySet
в array
и сортирующим этот массив через массив с пользовательским компаратором , который сортирует
Мы все знаем, что вы не можете сделать это:
for (Object i : l) {
if (condition(i)) {
l.remove(i);
}
}
ConcurrentModificationException
и т. Д. , , по-видимому, иногда это работает, но не всегда. Вот некоторый конкретный код:
public static
... Как бы вы инициализировали статический Map
в Java?
Способ первый: статический инициализатор
Способ второй: инициализатор экземпляра (анонимный подкласс) или же какой-то другой метод?
Каковы плюсы и минусы каждого?
Вот пример, иллюстрирующий два метода:
import java.util.HashMap;
import java.util.Map;
public class Test
... В Скрытые возможности Java в верхнем ответе упоминается Инициализация двойной скобки с , очень заманчивый синтаксис :
Set flavors = new HashSet() {{
add("vanilla");
add("strawberry");
add("chocolate");
add("butter pecan");
}};
Эта идиома создает анонимный внутренний класс с инициализатором экземпляра, который "может
... Мы создаем Set
как:
Set myset = new HashSet()
Как мы создаем List
в Java?
В чем разница между List<? super T>
и List<? extends T>
?
Раньше я использовал List<? extends T>
, но он не позволяет мне добавлять элементы к нему list.add(e)
, в то время как List<? super T>
делает.
Каков наилучший способ конвертировать Map
в List
? Просто переберите все значения и вставьте их в список, или я что-то пропускаю?
Я хочу отфильтровать java.util.Collection
на основе предиката.
Мне нужно создать Set
с начальными значениями.
Set h = new HashSet();
h.add("a");
h.add("b");
Есть ли способ сделать это в одной строке кода?
Это похоже на этот вопрос: Как конвертировать int [] в Integer [] в Java?
Я новичок в Java. Как я могу преобразовать List
в int[]
в Java? Я в замешательстве, потому что List.toArray()
фактически возвращает Object[]
, который может быть
Кто-нибудь знает, есть ли хороший эквивалент коллекции Java Set
в C #? Я знаю, что вы можете имитировать набор, используя Dictionary
или HashTable
, заполняя, но игнорируя значения, но это не очень элегантный способ.
У меня ArrayList
из Strings
, и я хочу удалить из него повторяющиеся строки. Как я могу это сделать?
Каковы причины решения об отсутствии полностью универсального метода get в интерфейсе java.util.Map
.
Для пояснения вопроса, подпись метода
V get(Object key)
вместо
V get(K key)
и мне интересно, почему (то же самое для remove, containsKey, containsValue
).
Используя Linq для коллекций, в чем разница между следующими строками кода?
if(!coll.Any(i => i.Value))
и
if(!coll.Exists(i => i.Value))
Обновление 1
Когда я разбираю .Exists
, похоже, что нет кода.
Обновление 2
Кто-нибудь знает, почему там нет кода для этого?
Понятно, что производительность поиска универсального класса HashSet
выше, чем универсального класса List
. Просто сравните ключ на основе хеша с линейным подходом в классе List
.
Однако вычисление ключа хеша само по себе может занять несколько циклов ЦП, поэтому для
...Я надеюсь, что этот вопрос не считается слишком базовым для этого форума, но посмотрим. Мне интересно, как реорганизовать некоторый код для повышения производительности, который запускается несколько раз.
Скажем, я создаю список частот слов, используя карту (возможно, HashMap), где каждый ключ
...