Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.70 KB | None | 0 0
  1. interface Sklad<Pilkarz> {
  2. void add(int index, Pilkarz pilkarz);
  3. void update(int index, Pilkarz object);
  4. Pilkarz get(int index);
  5. void delete(int index);
  6. int getSize();
  7. Iterator<Pilkarz> iterator();
  8. }
  9.  
  10.  
  11. public class SkladImpl implements Sklad<Pilkarz> {
  12. private Pilkarz sklad[];
  13. private List<Pilkarz> listN;
  14. private List<Pilkarz> listP;
  15. private List<Pilkarz> listO;
  16. private List<Pilkarz> listBR;
  17.  
  18. public SkladImpl(int size) {
  19. this.sklad = new Pilkarz[size];
  20. listBR = new ArrayList<>();
  21. listO = new ArrayList<>();
  22. listP = new ArrayList<>();
  23. listN = new ArrayList<>();
  24. }
  25.  
  26. @Override
  27. public void add(int index, Pilkarz p) {
  28. sklad[index] = p;
  29. switch (p.getPozycja()){
  30. case "N": listN.add(p);
  31. break;
  32. case "P": listP.add(p);
  33. break;
  34. case "O": listO.add(p);
  35. break;
  36. case"BR": listBR.add(p);
  37. break;
  38. }
  39. }
  40.  
  41. @Override
  42. public void update(int index, Pilkarz p) {
  43. sklad[index] = p;
  44. }
  45.  
  46. @Override
  47. public Pilkarz get(int index) {
  48. return sklad[index];
  49. }
  50.  
  51. @Override
  52. public void delete(int index) {
  53. sklad[index] = null;
  54. }
  55.  
  56. @Override
  57. public int getSize() {
  58. return sklad.length;
  59. }
  60.  
  61. @Override
  62. public Iterator<Pilkarz> iterator() {
  63. return new MyIterator<>(this);
  64. }
  65. }
  66.  
  67. class MyIterator<Pilkarz> implements Iterator<Pilkarz> {
  68. private Sklad<Pilkarz> sklad;
  69. private int index;
  70. private Pilkarz pilkarz;
  71. private boolean found = false;
  72.  
  73. public MyIterator(Sklad<Pilkarz> sklad) {
  74. this.sklad = sklad;
  75. index = -1;
  76. }
  77.  
  78. @Override
  79. public boolean hasNext() {
  80. for (found = false, index++; index < sklad.getSize(); index++) {
  81. pilkarz = sklad.get(index);
  82. if (pilkarz != null) {
  83. found = true;
  84. return true;
  85. }
  86. }
  87. return false;
  88. }
  89.  
  90. @Override
  91. public Pilkarz next() {
  92. if (found) return pilkarz;
  93. else return null;
  94. }
  95.  
  96. @Override
  97. public void remove() {
  98. if (found) sklad.delete(index);
  99. }
  100. }
  101.  
  102. public class Pilkarz {
  103. private String imie;
  104. private String nazwisko;
  105. private String pozycja;
  106.  
  107. public Pilkarz(String imie, String nazwisko, String pozycja) {
  108. super();
  109. this.imie = imie;
  110. this.nazwisko = nazwisko;
  111. this.pozycja = pozycja;
  112. }
  113. public Pilkarz(){
  114. }
  115.  
  116. public String getImie() {
  117. return imie;
  118. }
  119.  
  120. public void setImie(String imie) {
  121. this.imie = imie;
  122. }
  123.  
  124. public String getNazwisko() {
  125. return nazwisko;
  126. }
  127.  
  128. public void setNazwisko(String nazwisko) {
  129. this.nazwisko = nazwisko;
  130. }
  131.  
  132. public String getPozycja() {
  133. return pozycja;
  134. }
  135.  
  136. public void setPozycja(String pozycja) {
  137. this.pozycja = pozycja;
  138. }
  139.  
  140. @Override
  141. public String toString() {
  142. return "Pilkarz{" +
  143. "imie='" + imie + '\'' +
  144. ", nazwisko='" + nazwisko + '\'' +
  145. '}';
  146. }
  147. }
  148.  
  149.  
  150. public class Test {
  151. public static void main(String[] args) {
  152. SkladImpl sklad = new SkladImpl(11);
  153. sklad.add(1,new Pilkarz("Adam", "Kowal","BR"));
  154. sklad.add(2,new Pilkarz("Mateusz", "Nowak","N"));
  155. Iterator<Pilkarz> it = sklad.iterator();
  156. while(it.hasNext()){
  157. System.out.println(it.next().toString());
  158. }
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement