Advertisement
DearOohDeer

Listy Generyczne - Tablica V2

Mar 15th, 2022
1,234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. public interface IMyList<T> {
  2.     void add(T element);
  3.     public void add(int index, T element);
  4.     public void clear();
  5.     public T pop();
  6.     public T get(int index);
  7.     public int size();
  8.     public T remove(int index);
  9. }
  10.  
  11. import java.util.Arrays;
  12. public class MyCustomList<T> implements IMyList<T>
  13. {
  14.     T[] ListOb;
  15.  
  16.     final int DefaultLenght = 10;
  17.     int PositionIndex;
  18.     int ListMaxIndex;
  19.  
  20.  
  21.     public MyCustomList()
  22.     {
  23.         ListOb = (T[])new Object[DefaultLenght];
  24.         ListMaxIndex = DefaultLenght;
  25.         PositionIndex = 0;
  26.     }
  27.  
  28.     @Override
  29.     public void add(T Element)
  30.     {
  31.         if (PositionIndex >= ListMaxIndex)
  32.         {
  33.             resizeList(ListOb.length + 1);
  34.  
  35.         }
  36.         ListOb[PositionIndex] = Element;
  37.         PositionIndex++;
  38.     }
  39.  
  40.     @Override
  41.     public void add(int Index, T Element)
  42.     {
  43.         if(Index >= ListMaxIndex)
  44.         {
  45.             resizeList(Index + 1);
  46.         }
  47.         ListOb[Index] = Element;
  48.         if(Index >= PositionIndex)
  49.         {
  50.             PositionIndex = Index + 1;
  51.         }
  52.     }
  53.  
  54.     @Override
  55.     public void clear()
  56.     {
  57.         ListOb = (T[])new Object[DefaultLenght];
  58.         ListMaxIndex = DefaultLenght;
  59.         PositionIndex = 0;
  60.     }
  61.  
  62.     @Override
  63.     public T pop()
  64.     {
  65.         if(PositionIndex == 0)
  66.         {
  67.             return null;
  68.         }
  69.         T TempOb = ListOb[PositionIndex - 1];
  70.         ListOb[PositionIndex - 1] = null;
  71.         PositionIndex--;
  72.         return TempOb;
  73.     }
  74.  
  75.     @Override
  76.     public T get(int Index)
  77.     {
  78.         if(Index <= ListMaxIndex)
  79.         {
  80.             return ListOb[Index];
  81.         }    
  82.         else return null;
  83.     }
  84.  
  85.     @Override
  86.     public int size()
  87.     {
  88.         return PositionIndex;
  89.     }
  90.  
  91.     @Override
  92.     public T remove(int Index)
  93.     {
  94.         if(Index > ListMaxIndex)
  95.         {
  96.             return null;
  97.         }
  98.         T TempOb = ListOb[Index];
  99.         ListOb[Index] = null;
  100.         if(Index == PositionIndex - 1)
  101.         {
  102.             PositionIndex--;
  103.         }
  104.         return TempOb;
  105.     }
  106.  
  107.     public void resizeList(int NewSize)
  108.     {
  109.         ListOb = Arrays.copyOf(ListOb, NewSize);
  110.         ListMaxIndex = NewSize - 1;
  111.     }
  112. }
  113.  
  114. public class GenericList{
  115.     public static void main(String[] args){
  116.     IMyList<Integer>list;
  117.     list = new MyCustomList<>();
  118.     for(int TempNumber = 0; TempNumber < 20;i++)
  119.     {
  120.         list.add(TempNumber);
  121.     }
  122.     list.add(25,25);
  123.     System.out.println(list.pop());
  124.     System.out.println(list.pop(20));
  125.     System.out.println(list.get(20));
  126.     list.remove(10);
  127.     list.clear();
  128.     list.add(10);
  129.     System.out.println(list.pop());
  130.     }
  131. }  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement