java去重
Ⅰ java object 怎麼去重
方法一: 通過Iterator 的remove方法
public void testList() {
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> listTemp= new ArrayList<Integer>();
Iterator<Integer> it=list.iterator();
while(it.hasNext()){
int a=it.next();
if(listTemp.contains(a)){
it.remove();
}
else{
listTemp.add(a);
}
}
for(Integer i:list){
System.out.println(i);
}
}
lhkzyz
java List 去重(兩種方式)
博客分類:
java
java
方法一: 通過Iterator 的remove方法
Java代碼
public void testList() {
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> listTemp= new ArrayList<Integer>();
Iterator<Integer> it=list.iterator();
while(it.hasNext()){
int a=it.next();
if(listTemp.contains(a)){
it.remove();
}
else{
listTemp.add(a);
}
}
for(Integer i:list){
System.out.println(i);
}
}
public void testList() {
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> listTemp= new ArrayList<Integer>();
Iterator<Integer> it=list.iterator();
while(it.hasNext()){
int a=it.next();
if(listTemp.contains(a)){
it.remove();
}
else{
listTemp.add(a);
}
}
for(Integer i:list){
System.out.println(i);
}
}
方法二:直接將結果賦值給另一個List
public void testList2() {
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> tempList= new ArrayList<Integer>();
for(Integer i:list){
if(!tempList.contains(i)){
tempList.add(i);
}
}
for(Integer i:tempList){
System.out.println(i);
}
}
Ⅱ java 問題! String 去重
最簡單的:
List<String> strList = new ArrayList<String>();
for(String str_ : str){
if(!strList.contains(str_))System.out.print(str_);
strList.add(str_);
}
以上代碼未運行過,但是應該可以滴
Ⅲ java去重(不重復的去掉,重復的只去掉一次)
importjava.util.HashSet;
importjava.util.Set;
publicclassTest1{
privatestaticfinalSet<String>str=newHashSet<>();
publicstaticvoidmain(Stringargs[]){
Test1.add("1");
Test1.add("2");
Test1.add("2");
Test1.add("1");
Test1.add("3");
Test1.add("2");
}
publicstaticvoidadd(StringtoAdd){
if(!str.add(toAdd))System.out.println(toAdd);
}
}
Ⅳ Java 字元串去重
publicclassDemo8{
publicstaticvoidmain(String[]args){
System.out.println(removerepeatedchar("ddddccffgd"));
}
(Strings){
if(s==null)
returns;
StringBuildersb=newStringBuilder();
inti=0,len=s.length();
while(i<len){
charc=s.charAt(i);
sb.append(c);
i++;
while(i<len&&s.charAt(i)==c){
i++;
}
}
returnsb.toString();
}
}
Ⅳ java List<Object[]> 如何數據去重
list應該是有函數判斷某個key是否存在,可以看下文檔
list.contains(obj);
Ⅵ java去除重復字元串的問題
Stringa="1,2,3,4,5,6";
Stringb="6,3,1";
List<String>strs1=newArrayList<String>(Arrays.asList(a.split(",")));
List<String>strs2=newArrayList<String>(Arrays.asList(b.split(",")));
strs1.removeAll(strs2);
System.out.println(Arrays.toString(strs1.toArray()));
Ⅶ 對於java中如何去除重復的數據
set集合就是不可重復的,你可以將數據放在這個數據裡面
Ⅷ java list<object>如何去重
List<String>list=newArrayList<>();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
Set<String>set=newLinkedHashSet<>();//這種方式保證去重後的元素相對位置不變
//Set<String>set=newHashSet<>();//這種方式去重後元素的位置很有可能變化了
set.addAll(list);
list.clear();
list.addAll(set);
for(Strings:list){
System.out.println(s);
}
整個思路就是利用set中的元素是不重復的,來達到去重的目的
Ⅸ JAVA數組去重問題
我這有個笨辦法供樓主參考:
把vector中元素都取出來放到一個數組中,
根據數據的實際情況,
選擇不同的時間復雜度為log2N的排序演算法進行排序,
然後新建一個鏈表,
結點為保存數據和頻率的類,
遍歷排序後的數組,
如果鏈表的尾結點與數組中當前元素相同,
將尾結點的頻率加1,
否則append一個頻率為1的結點,
希望大牛們能給出更好的解法
Ⅹ java編程,文件去重
你把讀取的每行文本放入Set對象中就可以去重。不用自己比較了,很方便。