Advertisement
DearOohDeer

Listy Generyczne - Tablica

Mar 14th, 2022
1,376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. package Lista_Generyczna;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class MyCustomList<T> implements IMyList<T>
  6. {
  7.     T[] ListOb;
  8.  
  9.     final int DefaultLenght = 10;
  10.     int PositionIndex;
  11.     int ListMaxIndex;
  12.  
  13.  
  14.     public MyCustomList()
  15.     {
  16.         ListOb = (T[])new Object[DefaultLenght];
  17.         ListMaxIndex = DefaultLenght;
  18.         PositionIndex = 0;
  19.     }
  20.  
  21.     @Override
  22.     public void add(T Element)
  23.     {
  24.         if (PositionIndex >= ListMaxIndex)
  25.         {
  26.             resizeList(ListOb.length + 1);
  27.  
  28.         }
  29.         ListOb[PositionIndex] = Element;
  30.         PositionIndex++;
  31.     }
  32.  
  33.     @Override
  34.     public void add(int Index, T Element)
  35.     {
  36.         if(Index >= ListMaxIndex)
  37.         {
  38.             resizeList(Index + 1);
  39.         }
  40.         ListOb[Index] = Element;
  41.         if(Index >= PositionIndex)
  42.         {
  43.             PositionIndex = Index + 1;
  44.         }
  45.     }
  46.  
  47.     @Override
  48.     public void clear()
  49.     {
  50.         ListOb = (T[])new Object[DefaultLenght];
  51.         ListMaxIndex = DefaultLenght;
  52.         PositionIndex = 0;
  53.     }
  54.  
  55.     @Override
  56.     public T pop()
  57.     {
  58.         if(PositionIndex == 0)
  59.         {
  60.             return null;
  61.         }
  62.         T TempOb = ListOb[PositionIndex - 1];
  63.         ListOb[PositionIndex - 1] = null;
  64.         PositionIndex--;
  65.         return TempOb;
  66.     }
  67.  
  68.     @Override
  69.     public T get(int Index)
  70.     {
  71.         if(Index <= ListMaxIndex)
  72.         {
  73.             return ListOb[Index];
  74.         }    
  75.         else return null;
  76.     }
  77.  
  78.     @Override
  79.     public int size()
  80.     {
  81.         return PositionIndex;
  82.     }
  83.  
  84.     @Override
  85.     public T remove(int Index)
  86.     {
  87.         if(Index > ListMaxIndex)
  88.         {
  89.             return null;
  90.         }
  91.         T TempOb = ListOb[Index];
  92.         ListOb[Index] = null;
  93.         if(Index == PositionIndex - 1)
  94.         {
  95.             PositionIndex--;
  96.         }
  97.         return TempOb;
  98.     }
  99.  
  100.     public void resizeList(int NewSize)
  101.     {
  102.         ListOb = Arrays.copyOf(ListOb, NewSize);
  103.         ListMaxIndex = NewSize - 1;
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement