java數組重復的元素
⑴ java中怎麼找出數組中重復的數並去除
java中找出數組中重復的數並去除的代碼如下:
publicstaticvoidtestA(){
String[]str={"Java","C++","Php","C#","Python","C++","Java"};
for(StringelementA:str){
System.out.print(elementA+"");
}
List<String>list=newArrayList<String>();
for(inti=0;i<str.length;i++){
if(!list.contains(str[i])){
list.add(str[i]);
}
}
System.out.println();
String[]newStr=list.toArray(newString[1]);//返回一個包含所有對象的指定類型的數組
for(StringelementB:newStr){
System.out.print(elementB+"");
}
System.out.println();
}
⑵ 用java編寫 在兩個數組裡面 找出相同的元素 並輸出
有兩個數組,需要找出這兩個數組之間相同的元素。
package cn.luxh.jpa.test;import java.util.HashSet;import java.util.Set;import org.junit.Test;public class ArrayTest {
/**
* 找出兩個數組中相同的元素
* @param array1
* @param array2
* @return 返回相同的元素
*/
public Set<Integer> findSameElementIn2Arrays(Integer[] array1,Integer[] array2) {
Set<Integer> sameElementSet = new HashSet<Integer>();//用來存放兩個數組中相同的元素
Set<Integer> tempSet = new HashSet<Integer>();//用來存放數組1中的元素(廣州達內)
for(int i=0;i<array1.length;i++) {
tempSet.add(array1[i]);//把數組1中的元素放到Set中,可以去除重復的元素
}
for(int j=0;j<array2.length;j++) {
//把數組2中的元素添加到tempSet中
//如果tempSet中已存在相同的元素,則tempSet.add(array2[j])返回false
if(!tempSet.add(array2[j])) {
//返回false,說明當前元素是兩個數組中相同的元
sameElementSet.add(array2[j]);
}
}
return sameElementSet;
}
@Test
public void testFindSameElementIn2Arrays(){
Integer[] array1 = {1,2,3,4,1,2,4,6,7,8,10,22,33};
Integer[] array2 = {1,2,3,4,1,2,4,6,7,8,10,22,33,55,66,77,88,99};
Set<Integer> sameElementSet = findSameElementIn2Arrays(array1,array2);
for(Integer i : sameElementSet) {
System.out.println(i);
}
}}
⑶ java怎麼判斷數組中有重復的元素
1、寫兩個for循環,外層for循環每取出一個值,都和內層for循環的值做比較,出現兩次及以上相同的情況,即有重復元素。當然這種效率比較低。
2、寫兩個for循環,外層for循環取第一個值的時候,和內層循環的第二個值及之後的值比較;外層for循環取第二個值的時候,和內層循環的第三個值及之後的值比較……
以此類推,出現一次及以上相同的情況,即有重復元素。
過程就是如此,代碼自己實現吧!
⑷ java 數組如何去掉重復元素
理論上是可以的,但是太復雜了,藉助於集合更好一些
⑸ java 判斷一個數組中是否有重復的元素
使用一個臨時list,藉助list.contains判斷當前數組的值是否存在於list中,如果不存在則加入到list中,如果存在則記錄出來。有點像把一個籃子中的撞球放到另一個空籃子中,如果籃子裡面已經有的就不要再放進去了,沒有的,一個個放進去。說到底就是個遍歷和存在性判斷問題。