Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. package nl.hva.ict.ds.util;
  2.  
  3. import java.util.ArrayList;
  4. import nl.hva.ict.ds.Player;
  5.  
  6. import java.util.List;
  7.  
  8. public class LinearProbingMultiValueSymbolTable implements MultiValueSymbolTable<String, Player> {
  9.  
  10. private Player[] players;
  11.  
  12. public LinearProbingMultiValueSymbolTable(int arraySize) {
  13. players = new Player[arraySize];
  14. }
  15.  
  16. @Override
  17. public void put(String key, Player value) {
  18. int keyValue = 0;
  19. for (int i = 0; i < key.length(); i++) {
  20. int index = key.charAt(i);
  21. keyValue += index;
  22. }
  23. int keyCalc = keyValue % players.length;
  24. if (players[keyCalc] == null) {
  25. players[keyCalc] = value;
  26. } else {
  27. while (players[keyCalc] != null) {
  28. if(keyCalc < players.length) {
  29. System.out.println("Before = " + keyCalc);
  30. keyCalc++;
  31. System.out.println("After = " + keyCalc);
  32. } else {
  33. keyCalc = 0;
  34. }
  35. System.out.println("Current keyCalc = " + keyCalc);
  36. }
  37. players[keyCalc] = value;
  38. }
  39. }
  40.  
  41. @Override
  42. public List<Player> get(String key) {
  43. List<Player> foundPlayers = new ArrayList<>();
  44. for (int i = 0; i < players.length; i++) {
  45. if(players[i].getFirstName().equals(key)) {
  46. foundPlayers.add(players[i]);
  47. }
  48. }
  49. return foundPlayers;
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement