我用HashSet装东西结果顺序每次都不一样

我用HashSet装东西结果顺序每次都不一样
请问这样的问题怎么解决呢???
1.是自己建一个类extends这些类
2.还是有好的现成的开源的东东来弄呢....
3.还是用其它什么办法
请问使每次的SET里结果顺序都一样
麻烦大家看一看
[b]问题补充:[/b]
具体情况是:
我用List装的东西,结果输出来有重复的,结果我就用HashSet装
[b]问题补充:[/b]
数据量不大的,只是装一些功能模块,有200条就不得了...但是我想用Set,因为我LIST经常用....你有好方法没?
[b]问题补充:[/b]
怎么用啊,不会要自己建一个类去extends HashSet 再implements 那个排序的东东吧....

[code="java"]
package com.wzj;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

/**

  • @author fins build 2006-07-18
  • 顺序敏感的HashMap
  • get(int idx)/remove(int idx) 为按加入hashMap的顺序号(index) 来取得/删除 数据

    */

    public class IndexHashMap extends HashMap {

    private static final long serialVersionUID = 1L;

    private List list=new ArrayList();

    public Object put(Object key, Object value) {

    if (!containsKey(key)){

    list.add(key);

    }

    return super.put(key, value);

    }

    public Object get(int idx){

    return super.get(getKey(idx));

    }

    public int getIndex(Object key){

    return list.indexOf(key);

    }

    public Object getKey(int idx){

    if (idx>=list.size()) return null;

    return list.get(idx);

    }

    public void remove(int idx){

    Object key=getKey(idx);

    removeFromList(getIndex(key));

    super.remove(key);

    }

    public Object remove(Object key) {

    removeFromList(getIndex(key));

    return super.remove(key);

    }

    public void clear() {

    this.list = new ArrayList();

    super.clear();

    }

    private void removeFromList(int idx){

    if (idx=0) {

    list.remove(idx);

    }

    }

}

[/code]

引自http://fins.iteye.com/blog/32242

说说具体的情况把,可以使用数组或者list

哦,那就放之前遍历判断一下,如果数据量不大的话应该不好有性能问题

Set就是不常用。用Set可以实现集合排序到达目的。麻烦

用TreeSet替换。

HashSet是不排序的
TreeSet是排序的