public class Demo3 {
public static void main(String[] args) {
int [] arr=new int[]{1,1,1,2,4,3,3};
String result = " ";
for(int i=0;i<arr.length-1;i++){
int k=0;
for(int j=0;j<arr.length;j++){
if(arr[i]==arr[j]) {
k++;
}
}
if(k%2!=0){
result+=arr[i];
}
}
System.out.println(result);
}
}
我输出的是11124.如何输出124
public static void main(String[] args) {
int [] arr=new int[]{1,1,1,2,4,3,3};
String result = " ";
for(int i=0;i<arr.length-1;i++){
int k=0;
for(int j=0;j<arr.length;j++){
if(arr[i]==arr[j]) {
k++;
}
}
if(k%2!=0){
result+=arr[i];
}
}
System.out.println(result);
}
}
我输出的是11124.如何输出124
public static void main(String[] args) {
int [] arr=new int[]{1,1,1,2,4,3,3};
Map<Integer,Integer> result = new HashMap<Integer,Integer>();
String resultStr = "";
for(int i=0;i<arr.length-1;i++){
Integer tmp = Integer.valueOf(i);
if(result.containsKey(tmp)){
int count = result.get(tmp).intValue();
count++;
result.put(tmp, Integer.valueOf(count));
}
else{
result.put(tmp, 1);
}
}
Iterator iterator = result.keySet().iterator();
while(iterator.hasNext()){
int key = ((Integer)iterator.next());
int count = result.get(key).intValue();
if(count%2!=0){
resultStr+=key+" ";
}
}
System.out.println(resultStr);
}
}用hashMap,key存数组中数,value存出现次数
Map<Integer, Integer> tempArr = new HashMap<Integer, Integer>();
for (int i = arr.length-1; i>=0; i--) {
int a = arr[i];
if (tempArr.get(a) != null) {
tempArr.put(a, tempArr.get(a) + 1);
} else {
tempArr.put(a, 1);
}
}
for (Map.Entry<Integer, Integer> entry : tempArr.entrySet()) {
if (entry.getValue() % 2 != 0) {
System.out.println(entry.getKey());
}
}
HashSet<Integer> set = new HashSet<Integer>();
for (int i = 0; i < arr.length; i++)
{
Integer arri = new Integer(arr[i]);
if(set.contains(arri)){
//数组中的数值在set中存在,如果加上这一个,就是偶数了,所以,可以移除
set.remove(arri);
}else {
//从数组中取得的数值在set中不存在,可能是没出现过,也可能是出现过偶数次被移除了
set.add(arri);
}
}
//最终还保留在set中的数值,一定是出现了奇数次
for (Iterator<Integer> iterator = set.iterator(); iterator.hasNext();)
{
Integer integer = iterator.next();
System.out.println(integer);
}