Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nl.hva.ict.ds.util;
- import java.util.ArrayList;
- import nl.hva.ict.ds.Player;
- import java.util.List;
- public class LinearProbingMultiValueSymbolTable implements MultiValueSymbolTable<String, Player> {
- private Player[] players;
- public LinearProbingMultiValueSymbolTable(int arraySize) {
- players = new Player[arraySize];
- }
- @Override
- public void put(String key, Player value) {
- int keyValue = 0;
- for (int i = 0; i < key.length(); i++) {
- int index = key.charAt(i);
- keyValue += index;
- }
- int keyCalc = keyValue % players.length;
- if (players[keyCalc] == null) {
- players[keyCalc] = value;
- } else {
- while (players[keyCalc] != null) {
- if(keyCalc < players.length) {
- System.out.println("Before = " + keyCalc);
- keyCalc++;
- System.out.println("After = " + keyCalc);
- } else {
- keyCalc = 0;
- }
- System.out.println("Current keyCalc = " + keyCalc);
- }
- players[keyCalc] = value;
- }
- }
- @Override
- public List<Player> get(String key) {
- List<Player> foundPlayers = new ArrayList<>();
- for (int i = 0; i < players.length; i++) {
- if(players[i].getFirstName().equals(key)) {
- foundPlayers.add(players[i]);
- }
- }
- return foundPlayers;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement