java排除重复依赖
2023-01-10阅读(492)
问:使用java集合去掉数组中重复的值并打印出来,数组:{2,5,4,7,8,9,6,4}
- 答:import java.util.ArrayList;
import java.util.List;
public class demo {
public static void main(String[] args) {
Integer[] nums = new Integer[]{2,5,4,7,8,9,6,4};
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < nums.length; i++) {
if (!list.contains(nums[i])) {
list.add(nums[i]);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
} - 答:用 LinkedHashmap 把数组元素作为KEY 元素个数做为value
然后用迭代器 循环遍历输出 所有的getkey - 答:1、如果打印结果按从小到大的顺序(jdk1.5及以上):
import java.util.HashSet;
import java.util.Set;
public class SetTest {
public static void main(String[] arg){
int [] a = {2,5,4,7,8,9,6,4};
Set<Integer> data = new HashSet<Integer>();
for (int i : a) {
data.add(i);
}
for (Object object : data) {
System.out.println(object);
}
}
}
//2、按照原有顺序输出
public class SetTest {
public static void main(String[] arg){
int [] a = {2,5,4,7,8,9,6,4};
for(int i=0; i<a.length; i++){
int j = 0;
for(j=0; j<i; j++){
if(a[i]==a[j])
break;
}
if(i==j)
System.out.print(a[i]+" ");
}
}
} - 答:遍历数组
放在Set里
再每个打印
问:java怎么从设计上避免循环依赖
- 答:for(int i=0;i==0;){
//循环体
}
while(true){
//循环体
}
问:Java数组中重复数据的删除
- 答:java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class ceshi {
public static void main(String[] args) {
int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 };//新建一个int类型数组
System.out.println(Arrays.toString(testArr));
Set<Integer> set = new TreeSet<Integer>();//新建一个set集合
for (int i : testArr) {
set.add(i);
}
Integer[] arr2 = set.toArray(new Integer[0]);
// 数组的包装类型不能转 只能自己转;吧Integer转为为int数组;
int[] result = new int[arr2.length];
for (int i = 0; i < result.length; i++) {
result[i] = arr2[i];
}
System.out.println(Arrays.toString(arr2));
}
}
运行结果如下: - 答:package com.test.web;
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class TestSort {
public static void main(String[] args) {
int[] testArr={5,5,1,2,3,6,-7,8,6,45,5};
System.out.println(Arrays.toString(testArr));
Set<Integer> set=new TreeSet<Integer>();
for (int i : testArr) {
set.add(i);
}
Integer[] arr2=set.toArray(new Integer[0]);
//数组的包装类型不能转 只能自己转;吧Integer转为为int数组;
int[] result=new int[arr2.length];
for (int i = 0; i < result.length; i++) {
result[i]=arr2[i];
}
System.out.println(Arrays.toString(arr2));
}
}
你可以用SET,SET不可以添加重复的元素,吧素组转存到SAET当中,再把SET变成数组