Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions data/part-12/2-arraylist-and-hashtable.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ for (int i = 0; i < numbers.length; i++) {
}
``` -->

```java
```java
int[] numbers = new int[4];
numbers[0] = 42;
numbers[1] = 13;
Expand Down Expand Up @@ -616,27 +616,27 @@ public class Pari<K, V> {

private K avain;
private V value;

public Pari(K avain, V value) {
this.avain = avain;
this.value = value;
}

public K getAvain() {
return avain;
}

public V getArvo() {
return value;
}

public void setArvo(V value) {
this.value = value;
}
}
``` -->

```java
```java
public class Pair<K, V> {

private K key;
Expand Down Expand Up @@ -670,7 +670,7 @@ Pari<String, Integer> pari = new Pari<>("yksi", 1);
System.out.println(pari.getAvain() + " -> " + pari.getArvo());
``` -->

```java
```java
Pair<String, Integer> pair = new Pair<>("one", 1);
System.out.println(pair.getKey() + " -> " + pair.getValue());
```
Expand Down Expand Up @@ -702,15 +702,15 @@ public class Hajautustaulu<K, V> {

private List<Pari<K, V>>[] values;
private int firstFreeIndex;

public Hajautustaulu() {
this.values = new List[32];
this.firstFreeIndex = 0;
}
}
``` -->

```java
```java
public class HashMap<K, V> {

private List<Pair<K, V>>[] values;
Expand Down Expand Up @@ -749,18 +749,18 @@ public V hae(K avain) {
}

List<Pari<K, V>> valuesIndeksissa = this.values[hajautusArvo];

for (int i = 0; i < valuesIndeksissa.size(); i++) {
if (valuesIndeksissa.value(i).getAvain().equals(avain)) {
return valuesIndeksissa.value(i).getArvo();
}
}

return null;
}
``` -->

```java
```java
public V get(K key) {
int hashValue = Math.abs(key.hashCode() % this.values.length);
if (this.values[hashValue] == null) {
Expand Down Expand Up @@ -818,15 +818,15 @@ public void add(K avain, V value) {
}

List<Pari<K, V>> valuesIndeksissa = values[hajautusArvo];

int index = -1;
for (int i = 0; i < valuesIndeksissa.size(); i++) {
if (valuesIndeksissa.value(i).getAvain().equals(avain)) {
index = i;
break;
}
}

if (index < 0) {
valuesIndeksissa.add(new Pari<>(avain, value));
this.firstFreeIndex++;
Expand All @@ -836,14 +836,14 @@ public void add(K avain, V value) {
}
``` -->

```java
```java
public void add(K key, V value) {
int hashValue = Math.abs(key.hashCode() % values.length);
if (values[hashValue] == null) {
values[hashValue] = new List<>();
}

List<Pari<K, V>> valuesAtIndex = values[hashValue];
List<Pair<K, V>> valuesAtIndex = values[hashValue];

int index = -1;
for (int i = 0; i < valuesAtIndex.size(); i++) {
Expand Down Expand Up @@ -888,7 +888,7 @@ private int haeAvaimenIndeksi(List<Pari<K, V>> myList, K avain) {
}
``` -->

```java
```java
private List<Pair<K, V>> getListBasedOnKey(K key) {
int hashValue = Math.abs(key.hashCode() % values.length);
if (values[hashValue] == null) {
Expand Down Expand Up @@ -928,7 +928,7 @@ public void add(K avain, V value) {
}
``` -->

```java
```java
public void add(K key, V value) {
List<Pair<K, V>> valuesAtIndex = getListBasedOnKey(key);
int index = getIndexOfKey(valuesAtIndex, key);
Expand Down Expand Up @@ -966,15 +966,15 @@ private void grow() {

for (int i = 0; i < this.values.length; i++) {
// kopioidaan vanhan taulukon values uuteen

}

// korvataan vanha taulukko uudella
this.values = new;
}
``` -->

```java
```java
private void grow() {
// crete a new array
List<Pair<K, V>>[] newValues = new List[this.values.length * 2];
Expand Down Expand Up @@ -1003,13 +1003,13 @@ private void kopioi(List<Pari<K, V>>[] new, int indexsta) {
if(new[hajautusvalue] == null) {
new[hajautusvalue] = new List<>();
}

new[hajautusvalue].add(value);
}
}
``` -->

```java
```java
private void copy(List<Pair<K, V>>[] newArray, int fromIdx) {
for (int i = 0; i < this.values[fromIdx].size(); i++) {
Pair<K, V> value = this.values[fromIdx].value(i);
Expand Down Expand Up @@ -1040,20 +1040,20 @@ private void grow() {
// kopioidaan vanhan taulukon values uuteen
kopioi(new, i);
}

// korvataan vanha taulukko uudella
this.values = new;
}
``` -->

```java
```java
private void grow() {
// create a new array
List<Pair<K, V>>[] newArray = new List[this.values.length * 2];
List<Pair<K, V>>[] newValues = new List[this.values.length * 2];

for (int i = 0; i < this.values.length; i++) {
// copy the values of the old array into the new one
copy(newArray, i);
copy(newValues, i);
}

// replace the old array with the new
Expand All @@ -1077,14 +1077,14 @@ public void add(K avain, V value) {
} else {
valuesIndeksissa.value(index).setArvo(value);
}

if (1.0 * this.firstFreeIndex / this.values.length > 0.75) {
grow();
}
}
``` -->

```java
```java
public void add(K key, V value) {
List<Pair<K, V>> valuesAtIndex = getListBasedOnKey(key);
int index = getIndexOfKey(valuesAtIndex, key);
Expand Down Expand Up @@ -1127,14 +1127,14 @@ public V remove(K avain) {
if (index < 0) {
return null;
}

Pari<K, V> pari = valuesIndeksissa.value(index);
valuesIndeksissa.remove(pari);
return pari.getArvo();
}
``` -->

```java
```java
public V remove(K key) {
List<Pair<K, V>> valuesAtIndex = getListBasedOnKey(key);
if (valuesAtIndex.size() == 0) {
Expand Down Expand Up @@ -1206,7 +1206,7 @@ System.out.println("Hajautustaulu: haku kesti noin " + hajautustaulunHaku / 1000
" millisekuntia (" + hajautustaulunHaku + " nanosekuntia.)");
``` -->

```java
```java
List<String> myList = new List<>();
HashMap<String, String> hashMap = new HashMap<>();

Expand Down
28 changes: 14 additions & 14 deletions data/part-12/3-randomness.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,15 @@ public class Noppa {
this.random = new Random();
// Alusta oliomuuttuja tahkojenMaara tässä
}

public int heita() {
// arvo täällä luku jonka tulee olla yhdestä tahkojen määrään
// ja palauta se
}
}
``` -->

```java
```java
import java.util.Random;

public class Die {
Expand Down Expand Up @@ -197,7 +197,7 @@ public class Ohjelma {
}
``` -->

```java
```java
public class Program {
public static void main(String[] args) {
Die die = new Die(6);
Expand Down Expand Up @@ -256,11 +256,11 @@ public class WeatherMan {
}

public String forecast() {
double propability = this.random.nextDouble();
double probability = this.random.nextDouble();

if (propability <= 0.1) {
if (probability <= 0.1) {
return "It rains";
} else if (propability <= 0.4) { // 0.1 + 0.3
} else if (probability <= 0.4) { // 0.1 + 0.3
return "It snows";
} else { // rest, 1.0 - 0.4 = 0.6
return "The sun shines";
Expand Down Expand Up @@ -373,33 +373,33 @@ import java.util.Random;

public class LottoRivi {
private ArrayList<Integer> numerot;

public LottoRivi() {
this.arvoNumerot();
}

public ArrayList<Integer> numerot() {
return this.numerot;
}

public boolean sisaltaaNumeron(int numero) {
// Testaa tässä onko numero jo arvottujen numeroiden joukossa
return false;
}

public void arvoNumerot() {
// alustetaan lista numeroille
this.numerot = new ArrayList<>();
// Kirjoita numeroiden arvonta tänne käyttämällä metodia sisaltaaNumeron()
}

public boolean equals(Object toinen) {
return false;
}
}
``` -->

```java
```java
import java.util.ArrayList;
import java.util.Random;

Expand Down Expand Up @@ -448,13 +448,13 @@ public class Ohjelma {
for (int numero: lottonumerot) {
System.out.print(numero + " ");
}

System.out.println("");
}
}
``` -->

```java
```java
import java.util.ArrayList;

public class Program {
Expand Down
Loading