Search
 
SCRIPT & CODE EXAMPLE
 

JAVA

MyArrayList

public class MyArrayList<E> 
{
  private int size; // Number of elements in the list
  private E[] data;
  private int MAXELEMENTS = 100;
  /** Create an empty list */
  public MyArrayList() {
	   data = (E[])new Object[MAXELEMENTS];// cannot create array of generics
       size = 0; // Number of elements in the list
  }
  
  public void add(int index, E e) {   
    // Ensure the index is in the right range
    if (index < 0 || index > size)
      throw new IndexOutOfBoundsException
        ("Index: " + index + ", Size: " + size); 
    // Move the elements to the right after the specified index
    for (int i = size - 1; i >= index; i--)
      data[i + 1] = data[i];
    // Insert new element to data[index]
    data[index] = e;
    // Increase size by 1
    size++;
  }

  public boolean contains(Object e) {
    for (int i = 0; i < size; i++)
      if (e.equals(data[i])) return true;
    return false;
  }

  public E get(int index) {
    if (index < 0 || index >= size)
      throw new IndexOutOfBoundsException
        ("Index: " + index + ", Size: " + size);
    return data[index];
  }
  
  public E remove(int index) {
	if (index < 0 || index >= size)
      throw new IndexOutOfBoundsException
        ("Index: " + index + ", Size: " + size);
    E e = data[index];
    // Shift data to the left
    for (int j = index; j < size - 1; j++)
      data[j] = data[j + 1];
    data[size - 1] = null; // This element is now null
    // Decrement size
    size--;
    return e;
  }
  
  public void clear()
  {
     size = 0;
  }
 
  public MyArrayList<E> merge(MyArrayList<E> param)
  {
	  int i=0; //counter in calling array
	  int j=0; // counter in param array
	  int k=0; // counter in return array
	  MyArrayList<E> returnArray = new MyArrayList();
	  
	  if (this.getSize() ==0) // same as if (size==0)
		  return param;
	  if (param.getSize()==0)
		  return this;
	  if ((this.getSize()+ param.getSize()) > MAXELEMENTS)
		   throw new IndexOutOfBoundsException
        ("Combined list out of bounds");
		
	  // traverse both list until one list is completely done
	  while (i<this.getSize() && j<param.getSize())
	  {
		  // Compare single value from each list and copy smallest into result
		  if (((Comparable)data[i]).compareTo(param.data[j]) <0)
		  {
			returnArray.data[k]= this.data[i];
			k++;
			i++;	
		  }
		  else
		  {
			returnArray.data[k]=param.data[j];
			k++;
			j++;
		  }
	  }
	  
	  // copy remainder of the array
	  if (i < this.getSize())
	  {
		  for (i=i;i<getSize();i++) //for starts at current position
		  {
			returnArray.data[k]= this.data[i];
			k++;
		  }
	  }
	  if (j < param.getSize())
	  {
		  for (j=j;j<param.getSize();j++)
		  {
			returnArray.data[k]=param.data[j];
			k++;
		  }
	  }
	  returnArray.size = k; // set size of return array
	  return returnArray;
  }		  
		  
	  
  public String toString() {
    String result="[";
    for (int i = 0; i < size; i++) {
      result+= data[i];
      if (i < size - 1) result+=", ";
    }
    return result.toString() + "]";
  }

  
  public int getSize() {
    return size;
  }
  
 public boolean sortList() {
    E hold;
	for (int i = 0; i < size-1; i++)
	 {
	   for (int j = 0; j<size-1; j++)
	    {  	 
	     if(((Comparable)data[j]).compareTo(data[j+1])>0)
	      {
	       hold= data[j+1];
	       data[j+1]=data[j];
	       data[j]=hold;
	      }       
	   }
     } 
	 return true;	  	
  }


 
}
Comment

PREVIOUS NEXT
Code Example
Java :: frame background changing in java 
Java :: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 
Java :: call fragment method from activity 
Java :: java generic type method 
Java :: quicksort java 
Java :: android studio hide linearlayout 
Java :: Calendar ranges java 
Java :: how to set path for java in windows 10 
Java :: Java Create a BufferedInputStream 
Java :: locked screen android studio 
Java :: default java keystore 
Java :: java how to make a parameter optional 
Java :: bulkwrite mongodb array of objects 
Java :: square star pattern in java 
Java :: declare id in java 
Java :: arraylist<hashmap<string, string arraylist = new arraylist<() 
Java :: mod 10e9+7 in java 
Java :: java creare costante 
Java :: java swing border 
Java :: java system.out.println shortcut 
Java :: Error inflating class android.support.design.widget.CoordinatorLayout 
Java :: Read json url in android - NAYCode.com 
Java :: java use parent method 
Java :: GetMapping("/rest/v1/books") in spring rest api 
Java :: Simple For Loop Java Example 
Java :: java clear bufffer to take next string inpuit 
Java :: java questions 
Java :: check if short int or long java 
Java :: how to convert double to int in java 
Java :: Java Scanner nextInt() 
ADD CONTENT
Topic
Content
Source link
Name
8+2 =