Czy ktoś ma jakiś pomysł, dlaczego metoda removeRange w AbstractList (a także w ArrayList ) jest protected? Wygląda na całkiem dobrze zdefiniowaną i użyteczną operację, ale aby z niej skorzystać, jesteśmy zmuszeni do podklasy implementacji List. Czy jest jakieś ukryte uzasadnienie? Wydaje mi się to zupełnie niewytłumaczalne.
Szukam ogólnej, dwukierunkowej klasy słownika 1 do 1 w języku C # (2), tj. a, BiDictionaryOneToOne<T, S>który gwarantuje, że zawiera tylko jedną z każdej wartości i klucza (w każdym razie do RefEquals) i który można przeszukiwać za pomocą klucza lub wartości. Ktoś go zna, czy powinienem sam go wdrożyć? Nie …
Wiem, że conszwraca sekwencję i conjzwraca kolekcję. Wiem też, że conj„dodaje” pozycję do optymalnego końca kolekcji i conszawsze „dodaje” ją do przodu. Ten przykład ilustruje oba te punkty: user=> (conj [1 2 3] 4) ; returns a collection [1 2 3 4] user=> (cons 4 [1 2 3]) ; returns …
Dzisiaj szczęśliwie kodowałem, gdy dotarłem do fragmentu kodu, którego użyłem już setki razy: Iterowanie po kolekcji (tutaj ArrayList) Z jakiegoś powodu przyjrzałem się opcjom autouzupełniania Eclipse i zacząłem się zastanawiać: W jakich przypadkach poniższe pętle są lepsze w użyciu niż inne? Klasyczna pętla indeksu tablicy: for (int i = 0; …
Piszę program ustawiający kolejność, w jakiej różne obiekty będą się pojawiać w raporcie. Sekwencja to pozycja Y (komórka) w arkuszu kalkulacyjnym Excel. Część demonstracyjna kodu znajduje się poniżej. To, co chcę osiągnąć, to mieć kolekcję, która pozwoli mi dodać wiele obiektów i mogę uzyskać posortowaną kolekcję na podstawie sekwencji SortedList …
Używam JDK-8 (x64). W przypadku Arrays.sort(prymitywów) w dokumentacji Java znalazłem: Algorytm sortowania to Dual-Pivot Quicksort autorstwa Vladimira Yaroslavskiya, Jona Bentleya i Joshua Blocha. " Dla Collections.sort(obiektów) znalazłem to „Timsort”: Ta implementacja jest stabilnym, adaptacyjnym, iteracyjnym łączeniem ... Ta implementacja zrzuca określoną listę do tablicy, sortuje tablicę i wykonuje iterację po …
Czy istnieje sposób na utworzenie listy prymitywów int lub dowolnych prymitywów w Javie, takich jak śledzenie? List<int> myList = new ArrayList<int>(); Wygląda na to, że mogę to zrobić List myList = new ArrayList(); i dodaj „int” do tej listy. Ale wtedy oznaczałoby to, że mogę dodać cokolwiek do tej listy. …
Powiedzmy, że mam dowolną liczbę kolekcji, z których każda zawiera obiekty tego samego typu (na przykład List<int> fooi List<int> bar). Gdyby te kolekcje same znajdowały się w kolekcji (np. Czcionek List<List<int>>, mógłbym użyć ich SelectManydo połączenia ich wszystkich w jedną kolekcję). Jeśli jednak te kolekcje nie są już w tej …
Chcę użyć inicjatora kolekcji dla następnego bitu kodu: public Dictionary<int, string> GetNames() { Dictionary<int, string> names = new Dictionary<int, string>(); names.Add(1, "Adam"); names.Add(2, "Bart"); names.Add(3, "Charlie"); return names; } Więc zazwyczaj powinno to być coś takiego: return new Dictionary<int, string> { 1, "Adam", 2, "Bart" ... Ale jaka jest poprawna …
Widziałem je używane w ten sam sposób i martwię się, że pójdę ścieżką w projektowaniu, która jest nieodwracalna, jeśli nie zrozumiem tego lepiej. Używam również platformy .NET.
Powiedzmy, że mam bardzo prosty obiekt Java, który ma tylko niektóre właściwości getXXX i setXXX. Ten obiekt jest używany tylko do obsługi wartości, w zasadzie rekordu lub bezpiecznej dla typu (i wydajnej) mapy. Często muszę ukrywać ten obiekt w parach klucz-wartość (ciągi znaków lub typ bezpieczny) lub konwertować z par …
Jeden z najpotężniejszych wzorów dostępnych w Scala jest Enrich-my-biblioteka * wzór, który wykorzystuje niejawne konwersje pojawiają dodać metod do istniejących klas bez konieczności rozdzielczość metody dynamiczne. Na przykład, gdybyśmy chcieli, aby wszystkie łańcuchy miały metodę spaceszliczającą, ile mają białych znaków, moglibyśmy: class SpaceCounter(s: String) { def spaces = s.count(_.isWhitespace) } …
Pracując w Javie 8 mam takie TreeSetzdefiniowane: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport jest raczej prostą klasą zdefiniowaną w ten sposób: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, position); …
Czy istnieje sposób na zainicjowanie NVC przy użyciu składni inicjatora kolekcji C #: NameValueCollection nvc = new NameValueCollection() { ("a", "1"), ("b", "2") }; Dzięki
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.