1. java里有沒有專門判斷List里有重復的數據
List是有序的可重復集合, 如果要判斷list中是否有一個元素 , 可以用 list.contains(obj)
如果只是為了判斷list中是否有重復 , 方法有很多種, 比如可以將list轉換為set
Set set = new HashSet<>(list);
set是無需不可重復的集合 , list轉成set之後 , 如果set的size比 list的size小 , 說明有重復元素
也可以遍歷list , 放入Map , 用list的泛型作為 map 的 key 類型 , 而出現的次數作為 map的value , 這樣就能很容易看出來 list中的元素有沒有重復 , 哪個有重復 , 重復了幾次
2. java里有沒有專門判斷List里有重復的數據
這個應該是沒有的,因為list中放的數據本來就是可以重復的,你可以把list再放到一個map中,map的key是不能重復的,你可以通過這個判斷是否重復,或者去掉重復的都行。
3. java裡面判斷List裡面是否有重復的數據
你好,既然用list了,那麼就不排除會重復,而且list可以是對象,也並不好確認唯一性,可以用map來進行存儲確認唯一性。如果一定要把list判斷出來的話,可以參考下面的小例子
public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); list.add("bb"); list.add("ee"); list.add("dd"); list.add("ff"); String temp = ""; for (int i = 0; i < list.size() - 1; i++) { temp = list.get(i); for (int j = i + 1; j < list.size(); j++) { if (temp.equals(list.get(j))) { System.out.println("第" + (i + 1) + "個跟第" + (j + 1) + "個重復,值是:" + temp); } } } }
4. java 判斷list里是否有重復
publicstaticvoidmain(String[]args){
Set<String>s=newHashSet<String>();
List<String>l=newArrayList<String>();
l.add("1");
l.add("2");
l.add("2");
l.add("3");
for(Stringstr:l){
booleanb=s.add(str);
if(!b){
System.out.println(str);
}
}
}
用set判斷,並且可以找出哪個重復,set內的元素是不可重復的。
5. java怎麼比較兩個list是否相同
判斷兩個list集合的元素個數是否相等。如果不相等則兩個list集合也不相等,判斷結束,如果相等則進入第二步判斷
判斷list1的元素是否全部在list2中。遍歷list1,取出list1中的元素,依次去list2中比較是否list2也存在這個元素。如果有任何一個list1中的元素在list2中不存在,則兩個list集合不相等,如果全部存在則兩個list集合相等。
這里需要說明一點,因為第一步中已經判斷list1和list2的元素個數是相等的,所以第二步中如果list1的元素全部在list2中,則可以證明list1與list2相等。不需要再遍歷list2中的元素,去list1中判斷是否存在。
以下是上訴過程的Java代碼例子:public boolean equalList(List list1, List list2) {if (list1.size() != list2.size())
return false;for (Object object : list1) {if (!list2.contains(object))return false;}return true;}
以上過程適用於所有編程語言。另外不同編程語言還提供了一些其他方法,所以對於不同編程語言還可以有其他寫法。
比如Java中為list集合提供了containsAll方法。所以對於Java語言還可以這么寫:
public boolean equalList(List list1, List list2) {if (list1.size() != list2.size())return false;if(list2.containsAll(list1))return true;return false;}
還可以簡寫成這樣:public boolean equalList(List list1, List list2) {return (list1.size() == list2.size()) && list1.containsAll(list2);}
6. java里有沒有專門判斷List里有重復的數據
你好,既然用list了,那麼就不排除會重復,而且list可以是對象,也並不好確認唯一性,可以用map來進行存儲確認唯一性。如果一定要把list判斷出來的話,可以參考下面的小例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args)
{
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
list.add("bb");
list.add("ee");
list.add("dd");
list.add("ff");
String temp = "";
for (int i = 0; i < list.size() - 1; i++)
{
temp = list.get(i);
for (int j = i + 1; j < list.size(); j++)
{
if (temp.equals(list.get(j)))
{
System.out.println("第" + (i + 1) + "個跟第" + (j + 1) + "個重復,值是:" + temp);
}
}
}
}
7. java里有沒有專門判斷List里有重復的數據
List<Integer> list = Arrays.asList(1, 1, 2, 3);
list = list.stream().distinct().collect(Collectors.toList());//[1,2,3]
System.out.println(list);
List裡面是對象的話,需要重寫這個對象的hashcode和equals方法
8. java裡面判斷List裡面是否有重復的數據
兩層循環,判斷第一個數合第二個數、第三個數...是否相等;判斷第二個數合第三個數、第四個個數...是否相等。。。。等等。大概就是這個原理
或者你把list集合遍歷賦值給map集合,再把map遍歷輸出就好了
9. java里有沒有專門判斷List里有重復的數據
java">//初始化listListlist=newArrayList();list.add(1);list.add(21);list.add(1);list.add(3);list.add(3);list.add(3);//set中存放的是不可重復的元素HashSetset=newHashSet();//這里存放的是所有重復的元素,如果你只想知道是哪幾個數字重復了,不需要知道具體重復了幾次,可以用HashSetListrepeatElements=newArrayList();for(inti=0;i
10. java判斷兩個list是否有重復元素
Collections.disjoint(Collection<?> c1, Collection<?> c2)
如果兩個指定 collection 中沒有相同的元素,則返回 true。