Java 字符串去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 字符串去重相关的知识,希望对你有一定的参考价值。

2014-01-01 12:00:30|2014-11-27 19:16:04 64:88:ff:78:f7:19
2014-01-01 12:00:31|2014-11-27 14:38:19 64:88:ff:78:f7:19
Mac地址相同,去除相同的Mac,两个变为一个该如何做?

public class Demo8 
 public static void main(String[] args)  
        System.out.println(removerepeatedchar("ddddccffgd")); 
     
    public static String removerepeatedchar(String s)  
        if (s == null) 
            return s; 
        StringBuilder sb = new StringBuilder(); 
        int i = 0, len = s.length(); 
        while (i < len)  
            char c = s.charAt(i); 
            sb.append(c); 
            i++; 
            while (i < len && s.charAt(i) == c)  
                i++; 
             
         
        return sb.toString(); 
     

参考技术A 删除。。。。

java List怎么分组去重

有一个List里面存放的是对象,对象是 Sh(hm, credit, year, 1, sessionid),现在要根据year来去除hm的重复数据,要怎么实现?

使用set集合啊,set集合是不能放重复的数据的。
Set hashSet = new HashSet(list);
然后在转过来就行了,set去除重复是调用了equals方法,所以你在Sh里面要重写equals方法,自定义比较的规则,例如:
public boolean equals(Object obj)
if(obj==null) return false;
if(obj==this) return true;
Sh sh = (Sh)obj;
if(sh.getHm()==this.getHm())
return true;

return false;
参考技术A 用set集合吧. 那个是不允许重复的,操作和list一样追问

但是不同年的hm是可以一样的,这要怎么实现

追答

你就在对象中重写equals方法, 判断要同年和hm都一样的才算是相同的对象.

参考技术B 使用 HashSet 重写 equals 方法与hashcode 方法

简单说明下 HashSet 的实现:
把调用add 方法时, 要求每个对象出示其hashcode()方法返回值,检查是否相同,不同则接纳,相同调用equals方法进行比较 ,相同丢弃,不相同接纳
参考技术C 重写Sh的equals方法

以上是关于Java 字符串去重的主要内容,如果未能解决你的问题,请参考以下文章

急求!!!!用java 写一个 字符串去重 的程序!

java 字符串全排列 和 去重

java 问题! String 去重

java字符串数组去重并计数

java编程,文件去重

Java字符串去重