1.如果只是需要判断是否包含相同元素而不需要找出相同元素是哪些,直接放在set集合中,然后看set集合和数组长度是否一致即可
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String args[]) throws Exception{
Integer[] SameArray=new Integer[] {1,7,4,7,8,9};
Set<Integer>sameSet=new HashSet<>();
for(Integer element:SameArray) {
sameSet.add(element);
}
if(sameSet.size()==SameArray.length) {
System.out.println("没有相同元素");
}
else
System.out.println("有相同的元素");
}
2、如果需要找出相同的元素是哪些,有几个? 可以把数组元素都放在一个map中,key为元素,value为次数,然后看map中的value次数是否有大于1的,有则包含相同的元素。
package jg;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class Test {
public static void main(String args[]) throws Exception{
Integer[] SameArray=new Integer[] {1,7,4,7,8,9};
Map<Integer,Integer> sameMap=new HashMap<>();
for(Integer element:SameArray) {
if(sameMap.get(element)==null)
{
sameMap.put(element, 1);
}
else
{
sameMap.put(element, sameMap.get(element)+1);
}
}
for(Map.Entry<Integer, Integer>entry:sameMap.entrySet()) {
if(entry.getValue()>1)
{
System.out.println("相同元素为"+entry.getKey()+",出现的次数为"+entry.getValue());
}
}
}
}