Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface Sklad<Pilkarz> {
- void add(int index, Pilkarz pilkarz);
- void update(int index, Pilkarz object);
- Pilkarz get(int index);
- void delete(int index);
- int getSize();
- Iterator<Pilkarz> iterator();
- }
- public class SkladImpl implements Sklad<Pilkarz> {
- private Pilkarz sklad[];
- private List<Pilkarz> listN;
- private List<Pilkarz> listP;
- private List<Pilkarz> listO;
- private List<Pilkarz> listBR;
- public SkladImpl(int size) {
- this.sklad = new Pilkarz[size];
- listBR = new ArrayList<>();
- listO = new ArrayList<>();
- listP = new ArrayList<>();
- listN = new ArrayList<>();
- }
- @Override
- public void add(int index, Pilkarz p) {
- sklad[index] = p;
- switch (p.getPozycja()){
- case "N": listN.add(p);
- break;
- case "P": listP.add(p);
- break;
- case "O": listO.add(p);
- break;
- case"BR": listBR.add(p);
- break;
- }
- }
- @Override
- public void update(int index, Pilkarz p) {
- sklad[index] = p;
- }
- @Override
- public Pilkarz get(int index) {
- return sklad[index];
- }
- @Override
- public void delete(int index) {
- sklad[index] = null;
- }
- @Override
- public int getSize() {
- return sklad.length;
- }
- @Override
- public Iterator<Pilkarz> iterator() {
- return new MyIterator<>(this);
- }
- }
- class MyIterator<Pilkarz> implements Iterator<Pilkarz> {
- private Sklad<Pilkarz> sklad;
- private int index;
- private Pilkarz pilkarz;
- private boolean found = false;
- public MyIterator(Sklad<Pilkarz> sklad) {
- this.sklad = sklad;
- index = -1;
- }
- @Override
- public boolean hasNext() {
- for (found = false, index++; index < sklad.getSize(); index++) {
- pilkarz = sklad.get(index);
- if (pilkarz != null) {
- found = true;
- return true;
- }
- }
- return false;
- }
- @Override
- public Pilkarz next() {
- if (found) return pilkarz;
- else return null;
- }
- @Override
- public void remove() {
- if (found) sklad.delete(index);
- }
- }
- public class Pilkarz {
- private String imie;
- private String nazwisko;
- private String pozycja;
- public Pilkarz(String imie, String nazwisko, String pozycja) {
- super();
- this.imie = imie;
- this.nazwisko = nazwisko;
- this.pozycja = pozycja;
- }
- public Pilkarz(){
- }
- public String getImie() {
- return imie;
- }
- public void setImie(String imie) {
- this.imie = imie;
- }
- public String getNazwisko() {
- return nazwisko;
- }
- public void setNazwisko(String nazwisko) {
- this.nazwisko = nazwisko;
- }
- public String getPozycja() {
- return pozycja;
- }
- public void setPozycja(String pozycja) {
- this.pozycja = pozycja;
- }
- @Override
- public String toString() {
- return "Pilkarz{" +
- "imie='" + imie + '\'' +
- ", nazwisko='" + nazwisko + '\'' +
- '}';
- }
- }
- public class Test {
- public static void main(String[] args) {
- SkladImpl sklad = new SkladImpl(11);
- sklad.add(1,new Pilkarz("Adam", "Kowal","BR"));
- sklad.add(2,new Pilkarz("Mateusz", "Nowak","N"));
- Iterator<Pilkarz> it = sklad.iterator();
- while(it.hasNext()){
- System.out.println(it.next().toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement