Będąc nieco nowym językiem Java, próbuję zapoznać się ze wszystkimi sposobami (a przynajmniej niepatologicznymi), które można iterować po liście (lub innych kolekcjach) oraz zaletami i wadami każdego z nich. Biorąc pod uwagę List<E> listobiekt, znam następujące sposoby przechodzenia przez wszystkie elementy: Podstawowy dla pętli (oczywiście istnieją również odpowiedniki while/ do …
Czy jest jakaś wbudowana metoda w Javie, która pozwala nam konwertować ciąg znaków rozdzielany przecinkami na jakiś kontener (np. Tablicę, listę lub wektor)? Czy też muszę do tego napisać niestandardowy kod? String commaSeparated = "item1 , item2 , item3"; ArrayList<String> items = //method that converts above string into list??
HashSet jest oparty na HashMap. Jeśli spojrzymy na HashSet<E>implementację, wszystko jest zarządzane w ramach HashMap<E,Object>. <E>jest używany jako klucz HashMap. I wiemy, że HashMapnie jest to bezpieczne dla wątków. Właśnie dlatego mamy ConcurrentHashMapJavę. Na tej podstawie jestem zdezorientowany, dlaczego nie mamy ConcurrentHashSet, który powinien być oparty na ConcurrentHashMap? Czy coś …
Jeśli mam List<List<Object>>, w jaki sposób mogę zmienić to w List<Object>zawierające wszystkie obiekty w tej samej kolejności iteracji, używając funkcji Java 8?
Widzę, że ludzie używają anydo zebrania innej listy, aby sprawdzić, czy element istnieje na liście, ale czy istnieje szybki sposób, aby to zrobić ?: if list.contains(myItem): # do something
W Javie są interfejsy SortedSeti SortedMap. Oba należą do środowiska Java Collections i zapewniają uporządkowany sposób dostępu do elementów. Jednak w moim rozumieniu nie ma SortedListJava. Możesz użyć java.util.Collections.sort()do sortowania listy. Masz pojęcie, dlaczego jest tak zaprojektowany?
Czy ktoś wie, czy istnieje dobry odpowiednik Setkolekcji Java w C #? Wiem, że można nieco naśladować zestaw za pomocą a Dictionarylub a HashTable, wypełniając, ale ignorując wartości, ale to nie jest zbyt elegancki sposób.
Zestaw wydaje się dobrym sposobem na tworzenie tablic z gwarantowanymi unikalnymi elementami, ale nie ujawnia żadnego dobrego sposobu na uzyskanie właściwości, z wyjątkiem generatora [Set] .values, który jest wywoływany w niezręczny sposób mySet.values.next(). Byłoby dobrze, gdybyś mógł wywoływać mapi podobne funkcje w zestawach. Ale ty też nie możesz tego zrobić. …
Jak w Javie 8 mogę filtrować kolekcję za pomocą Streaminterfejsu API, sprawdzając odrębność właściwości każdego obiektu? Na przykład mam listę Personobiektów i chcę usunąć osoby o tej samej nazwie, persons.stream().distinct(); Użyje domyślnego sprawdzenia równości dla Personobiektu, więc potrzebuję czegoś takiego, persons.stream().distinct(p -> p.getName()); Niestety distinct()metoda nie ma takiego przeciążenia. Czy …
Bawiłem się lambdami Java 8, aby łatwo filtrować kolekcje. Ale nie znalazłem zwięzłego sposobu na uzyskanie wyniku jako nowej listy w ramach tej samej instrukcji. Oto moje najbardziej zwięzłe podejście do tej pory: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList = new ArrayList<>(); sourceLongList.stream().filter(l …
W mojej aplikacji korzystam z biblioteki innej firmy (dokładniej Spring Data dla MongoDB). Metody tej biblioteki zwracają się Iterable<T>, podczas gdy reszta mojego kodu oczekuje Collection<T>. Czy jest gdzieś jakaś metoda narzędziowa, która pozwoli mi szybko przekonwertować jedną na drugą? Chciałbym uniknąć tworzenia kilkuforeach pęków w moim kodzie dla tak …
На этот вопрос есть ответы на przepełnienie stosu на русском : Что лучше, возвращать null, или пустую коллекцию? To rodzaj ogólnego pytania (ale używam C #), jaki jest najlepszy sposób (najlepsza praktyka), czy zwracasz wartość zerową lub pustą kolekcję dla metody, która ma kolekcję jako typ zwracany?
Jak mogę uzyskać n-ty znak ciągu? Próbowałem []akcesorium brack ( ) bez powodzenia. var string = "Hello, world!" var firstChar = string[0] // Throws error BŁĄD: „indeks dolny” jest niedostępny: nie można subskrybować ciągu znaków z Int, patrz komentarz do dokumentacji do dyskusji
Używając LINQ w kolekcjach, jaka jest różnica między następującymi wierszami kodu? if(!coll.Any(i => i.Value)) i if(!coll.Exists(i => i.Value)) Aktualizacja 1 Po rozłożeniu .Existswygląda na to, że nie ma kodu. Aktualizacja 2 Czy ktoś wie, dlaczego nie ma tam kodu?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.