Udało mi się zaimplementować słownik bezpieczny dla wątków w C #, wyprowadzając z IDictionary i definiując prywatny obiekt SyncRoot: public class SafeDictionary<TKey, TValue>: IDictionary<TKey, TValue> { private readonly object syncRoot = new object(); private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>(); public object SyncRoot { get { return syncRoot; } …
Guava zapewnia nam świetne metody fabryczne dla typów Java, takich jak Maps.newHashMap(). Ale czy są też konstruktorzy map Java? HashMap<String,Integer> m = Maps.BuildHashMap. put("a",1). put("b",2). build();
Współpracownik zapytał mnie dzisiaj, jak dodać zakres do kolekcji. Ma klasę, która dziedziczy Collection<T>. Istnieje właściwość get-only tego typu, która zawiera już pewne elementy. Chce dodać elementy z innej kolekcji do kolekcji właściwości. Jak może to zrobić w sposób przyjazny dla C # 3? (Zwróć uwagę na ograniczenie dotyczące właściwości …
Piszę swój kod testowy i nie chcę pisać: List<string> nameslist = new List<string>(); nameslist.Add("one"); nameslist.Add("two"); nameslist.Add("three"); Bardzo chciałbym napisać List<string> nameslist = new List<string>({"one", "two", "three"}); Jednak {"one", "two", "three"} nie jest "IEnumerable string Collection". Jak mogę zainicjować to w jednym wierszu przy użyciu kolekcji ciągów IEnumerable ”?
Chciałbym na to trochę odpocząć: Map rowToMap(row) { def rowMap = [:]; row.columns.each{ rowMap[it.name] = it.val } return rowMap; } biorąc pod uwagę stan rzeczy z GDK, spodziewałbym się, że będę w stanie zrobić coś takiego: Map rowToMap(row) { row.columns.collectMap{ [it.name,it.val] } } ale nie widziałem nic w dokumentach ... …
W Javie mamy Collections.emptyList () i Collections.EMPTY_LIST . Obie mają tę samą właściwość: Zwraca pustą listę (niezmienną). Ta lista jest serializowalna. Jaka jest więc dokładna różnica między używaniem jednego lub drugiego?
Mam listę liczb całkowitych List<Integer>i chciałbym przekonwertować wszystkie obiekty typu integer na ciągi, kończąc w ten sposób na nowym List<String>. Oczywiście mógłbym utworzyć nową List<String>i zapętlić listę wywołującą String.valueOf()każdą liczbę całkowitą, ale zastanawiałem się, czy istnieje lepszy (czytaj: bardziej automatyczny ) sposób zrobienia tego?
Czy istnieje sposób na pobranie (skądś) liczby elementów w obiekcie javascript? (tj. złożoność w czasie stałym). Nie mogę znaleźć właściwości ani metody, która pobrałaby te informacje. Jak dotąd mogę myśleć tylko o wykonaniu iteracji przez całą kolekcję, ale to czas liniowy. To dziwne, że nie ma bezpośredniego dostępu do rozmiaru …
var ints = new List< int >( new[ ] { 1, 2, 3, 4, 5 } ); var first = true; foreach( var v in ints ) { if ( first ) { for ( long i = 0 ; i < int.MaxValue ; ++i ) { //<-- The thing …
Jeśli ktoś jest zaznajomiony z Objective-C, istnieje kolekcja o nazwie, NSOrderedSetktóra działa jako Set, a jej elementy mogą być dostępne jako elementy Array . Czy jest coś takiego w Javie? Słyszałem, że jest taka kolekcja LinkedHashMap, ale nie znalazłem nic podobnego do zestawu.
Wiemy, że szybkie sortowanie to najszybszy algorytm sortowania. JDK6 collections.sortużywa algorytmu sortowania przez scalanie zamiast sortowania szybkiego. Ale Arrays.sort używa algorytmu szybkiego sortowania. Jaki jest powód, dla którego Collections.sort używa sortowania przez scalanie zamiast szybkiego sortowania?
Czy w Scali są jakieś wytyczne dotyczące tego, kiedy używać val ze zmienną kolekcją, a kiedy var z niezmienną kolekcją? A może naprawdę powinieneś dążyć do val z niezmienną kolekcją? Fakt, że istnieją oba rodzaje kolekcji, daje mi duży wybór, a często nie wiem, jak tego dokonać.
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.