通用集合/数组初始化-Java

通用集合/数组初始化-Java,java,data-structures,set,Java,Data Structures,Set,我正在尝试实现这个接口 Set<T> filter(UnaryRelation<T> x) 设置过滤器(一元关系x) 我需要创建一个集合,其中包含满足x的集合中的元素。我似乎不知道如何初始化这个集合,因为它被认为是泛型的。如何创建它,使其不是通用的 Set<T> filteredArray = new Object<T>[size()]; Set filteredArray=新对象[size()]; 调用该代码时,您需要确定T是什么。例如

我正在尝试实现这个接口

Set<T> filter(UnaryRelation<T> x) 
设置过滤器(一元关系x)
我需要创建一个集合,其中包含满足x的集合中的元素。我似乎不知道如何初始化这个集合,因为它被认为是泛型的。如何创建它,使其不是通用的

Set<T> filteredArray =  new Object<T>[size()];
Set filteredArray=新对象[size()];

调用该代码时,您需要确定
T
是什么。例如:

class Test<T> {

    private Set<T> filter;

    public Test() {
        filter = new HashSet<T>();
    }

    public Set<T> getFilter() {
        return filter;
    }
}

class Main {
    public static void main(String[] args) {
        Test<Integer> test = new Test<Integer>();
        Set<Integer> filter = test.getFilter();
    }
}
类测试{
私有集过滤器;
公开考试(){
filter=newhashset();
}
公共集getFilter(){
回流过滤器;
}
}
班长{
公共静态void main(字符串[]args){
测试=新测试();
Set filter=test.getFilter();
}
}

newset()
应该可以用,对吗?也许我不明白你的问题…简单地说,我需要创建/返回一个set类型的集合。当Java不允许我创建泛型或抽象的东西时,我不知道怎么做。你可以初始化HashSet而不是Set。Set filteredArray=新哈希集