Z jakiej kolekcji losować

0

Cześć,

chciałbym zrobić napisać mini program na załóżmy 2 klasy, w której:

  • 1 klasa to launcher;
  • 2 klasa to będzie "baza danych";

Chciałbym wprowadzać ręcznie do klasy "baza danych" słówka po ang oraz ich tłumaczenie. Po uruchomieniu programu chciałbym żeby losowało mi jedno słówko z "bazy danych", i żebym wybierał jedną z dwóch opcji: "znam" lub "nie znam". Jak wybiorę nie znam, to żeby powtórzyło, a jak znam to nie brało pod uwagę tego przy dalszym losowaniu.

Jaka kolekcja będzie najlepsza w "bazie danych", ArrayList? Czy jedną ArrayList to ogarnę?

0

Chyba Mapa (HashMap tutaj konkretnie) najbardziej pasuje :)

1
scibi92 napisał(a):

Chyba Mapa (HashMap tutaj konkretnie) najbardziej pasuje :)

A co jeśli będzie chciał rozszerzyć program i zapisywać ile razy dane słówko zgadł/nie zgadła? Map<String,String> będzie średnio rozszerzalne.

Użyj dowolnej listy, w kontekście takiego zadnka to i tak bez znaczenia, którą wybierzesz. To ci się przyda:

https://www.tutorialspoint.com/java/util/collections_shuffle.htm

0

Cześć. Jestem w pewnym programie partnerskim, otrzymałam odpowiednie materiały do promowania strony. Mam problem z landing page do której otrzymałam taka informację .....Aby przypisać landing page do swojego konta i tym samym pozyskiwać ludzi, którzy będą przynosić Ci dodatkowe zyski należy edytować plik index.php i w 2 linii do zmiennej MYREFERENCELINK przypisać swój adres referencyjny....
Plik wygląda mniej więcej tak :

<script> MYREFERENCELINK = "https://affiliate.bitbay.pl/6"; </script> <?php include_once('./class/utils/l10n.class.php'); $lang = $_GET['lang']; if(isset($_GET['lang'])){ Gdzie ja niby mam wkleić ten link???
0

Jeśli ma być dobrze to:

  1. Słówka zapisujesz w Set - dowolnym, najlepiej coś prostego typu HashSet.
  2. Na podstawie tego Set'a przy inicjalizacji tworzysz HashMap<String, Boolean> gdzie w wartości masz informację, czy słówko jest znane czy nie.

Losowanie można zrobić na wiele sposobów, np.

private static String getKeyAtRandom(Map<String, String> map){
	int nextInt = ThreadLocalRandom.nextInt(0, map.size()-1);
	String random = map.keySet().stream().skip(nextInt).findFirst().get();

	return random;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1