⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arrayset.java

📁 java 实现常用数据结构(链表
💻 JAVA
字号:
/**
 *
 *
 *
 */
 
 package dreamer.util;
 
 public class ArraySet<T> implements Set<T>
 {
 	private static final int INIT_SIZE = 1024;
 	private static final int INCREMENT = 256;
 	private Object [] set;
 	private int size;
 	private int len;
 	
 	public ArraySet()
 	{
 		set = new Object[INIT_SIZE];
 		size = INIT_SIZE;
 		len = 0;
 	}
 	
 	private void extend()
 	{
 		Object [] tmpSet = new Object[size+INCREMENT];
 		for(int i=0;i<len;i++)
 		{
 			tmpSet[i] = set[i];
 		}
 		set = tmpSet;
 	}
 	
 	public boolean add(T elem)
 	{
 		if(len>=size)
 			extend();
 		if(contains(elem))
 			return false;
 		set[len] = elem;
 		len++;
 		return true;
 	}
 	
 	public boolean remove(T elem)throws IndexSlopOverException
 	{
 		if(len==0)
 			throw new IndexSlopOverException();
 	    for(int i=0;i<len;i++)
 	    {
 	    	if(set[i].equals(elem))
 	    	{
 	    		for(int j=i+1;j<len;j++)
 	    		{
 	    			set[j-1] = set[j];
 	    		}
 	    		len--;
 	    		return true;
 	    	}
 	    }
 		return true;
 	}
 	
 	public boolean set(T elem,T value)
 	{
 		if(contains(value))
 			return false;
 		for(int i=0;i<len;i++)
 		{
 			if(set[i].equals(elem))
 			{
 				set[i] = value;
 				return true;
 			}
 		}
 		return false;
 	}
 	
 	public boolean contains(T elem)
 	{
 		for(int i=0;i<len;i++)
 		{
 			if(set[i].equals(elem))
 				return true;
 		}
 		return false;
 	}
 	
 	public int size()
 	{
 		return len;
 	}
 	
 	public Object [] toArray()
 	{
 		if(len==0)
 			return null;
 		Object [] array = new Object[len];
 		for(int i=0;i<len;i++)
 		{
 			array[i] = set[i];
 		}
 		return array;
 	}
 	
 	public boolean isEmpty()
 	{
 		if(len==0)
 			return true;
 		return false;
 	}
 	
 	public void clear()
 	{
 		set = new Object[INIT_SIZE];
 		size = INIT_SIZE;
 		len = 0;
 	}
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -