Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.71 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("Mariusz", "Ananasowski","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