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; } } }
本文介绍了一种使用自定义Hashtable去除数组中重复元素的方法。通过将数组中的每个元素插入Hashtable中,若插入时对应位置为空,则成功插入;若已存在元素则视为重复,最终展示不含重复元素的数据集合。
168

被折叠的 条评论
为什么被折叠?



