如何使用Hashtable过滤数组中的重复值,可以分为以下几步:
1. 创建Hashtable对象
创建Hashtable对象,用于存储数组中的元素。
Hashtable<Integer, Integer> hashTable = new Hashtable<Integer, Integer>();
2. 遍历数组
使用for循环遍历数组中的元素。
int[] arr = {1, 2, 2, 3, 4, 4, 5};
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
}
3. 将元素添加到Hashtable中
使用put()方法将数组中的元素添加到Hashtable中,如果元素已经存在,则不会被添加。
int[] arr = {1, 2, 2, 3, 4, 4, 5};
Hashtable<Integer, Integer> hashTable = new Hashtable<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
hashTable.put(num, num);
}
4. 将Hashtable中的元素放回数组中
使用Enumeration对象取出Hashtable中的元素,然后将元素放回数组中。
int[] arr = {1, 2, 2, 3, 4, 4, 5};
Hashtable<Integer, Integer> hashTable = new Hashtable<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
hashTable.put(num, num);
}
Enumeration<Integer> keys = hashTable.keys();
int i = 0;
while(keys.hasMoreElements()) {
arr[i++] = keys.nextElement();
}
现在,变量arr中就仅包含原数组的不同元素了。
示例1:
int[] arr = {1, 2, 2, 3, 4, 4, 5};
Hashtable<Integer, Integer> hashTable = new Hashtable<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
hashTable.put(num, num);
}
Enumeration<Integer> keys = hashTable.keys();
int i = 0;
while(keys.hasMoreElements()) {
arr[i++] = keys.nextElement();
}
System.out.println(Arrays.toString(arr));
输出结果:
[1, 2, 3, 4, 5, 0, 0]
示例2:
int[] arr = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
Hashtable<Integer, Integer> table = new Hashtable<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
table.put(num, num);
}
Enumeration<Integer> keys = table.keys();
int i = 0;
while(keys.hasMoreElements()) {
arr[i++] = keys.nextElement();
}
System.out.println(Arrays.toString(arr));
输出结果:
[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
可以看到,两个示例中,变量arr中都只包含原数组的不同元素了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java使用Hashtable过滤数组中重复值的方法 - Python技术站