Java code
package fx.algorithm.hash.app; /** * 利用hashtable去掉重复的数据 * * @author 咖啡 * */ public class HashTableApp3 { private static int [] array = { 10 , 10 , 2 , 3 , 5 , 7 , 8 , 2 , 9 , 2 , 5 , 6 , 7 }; public static void main(String[] args) { HashTable table = new HashTable(array.length); for ( int i = 0 ; i < array.length; i ++ ) { table.insert( new DataItem(array[i])); } table.displayTable(); } } /** * 封装数据,可要可无 * * @author 咖啡 * */ class DataItem { private int iData; public DataItem( int ii) { this .iData = ii; } public int getkey() { return iData; } } /** * 自定义一个table * * @author 咖啡 * */ class HashTable { private DataItem[] hashArray; private int arraySize; public HashTable( int size) { arraySize = size; hashArray = new DataItem[arraySize]; } /** * 显示table */ public void displayTable() { System.out.print( " Table " ); for ( int i = 0 ; i < arraySize; i ++ ) { if (hashArray[i] != null ) { System.out.print(hashArray[i].getkey() + " " ); } } System.out.println(); } /** * 将值直接作为table中的下标,如果该下标存在一个数据说明有冲突,不管 */ public void insert(DataItem item) { int key = item.getkey(); if (hashArray[key] == null ) { hashArray[key] = item; } } }