当前位置: 代码迷 >> J2SE >> 去掉数据库中重复的内容,求高效率解法!该如何处理
  详细解决方案

去掉数据库中重复的内容,求高效率解法!该如何处理

热度:107   发布时间:2016-04-24 02:31:13.0
去掉数据库中重复的内容,求高效率解法!
小弟要去除数据库中重复的内容,自己写了方法(如下),但是自己感觉效率太低,因为数据库中有几百万条的数据,求高手给一个高效率的方法。
Java code
        List<String> list = new ArrayList<String>();        list.add("a");        list.add("b");        list.add("c");        list.add("d");        list.add("a");        list.add("c");        list.add("c");        list.add("c");        list.add("d");                for (int i = 0; i < list.size(); i++) {            for (int j = i+1; j < list.size(); j++) {                if(list.get(i).equals(list.get(j))){                    list.remove(j);                    j--;                }            }        }                for (int i = 0; i < list.size(); i++) {            System.out.println(list.get(i));        }


------解决方案--------------------
Java code
import java.util.HashSet;import java.util.Iterator;class User{    String name;    int value;        User(String name, int value) {        this.name = name;        this.value = value;    }        public boolean equals(Object o) {        if (!(o instanceof User))            return false;        return hashCode() == o.hashCode();    }        public int hashCode() {        return name.hashCode();    }        public String toString() {        return String.format("name = %s, value = %d", name, value);    }}public class test {        public static void main(String[] args) {        HashSet<User> set = new HashSet<User>();        User u1 = new User("aaa", 1);        User u2 = new User("bbb", 2);        User u3 = new User("aaa", 3);        set.add(u1);        set.add(u2);        set.add(u3);        Iterator<User> iter = set.iterator();        while (iter.hasNext())            System.out.println(iter.next());    }}
  相关解决方案