要设置的Java泛型集合

要设置的Java泛型集合,java,java-stream,Java,Java Stream,这让人很困惑,可能会有点困惑!对不起,如果解释不好的话。我正在使用集合练习Java流。我有一个自定义类型PartiallyOrderedSet初始化如下: PartiallyOrderedSet-four=生成集(新整数[]{1,2,3,4}) 在内部,它存储泛型E的集合,因此makeSet可以采用任何类型的E 为了创建PartiallyOrderedSet,我们使用如下makeSet,例如整数(尽管我们可以使用makeSet的多个重载将其转换为任何类型): 我想将它转换回javaSet对象,以

这让人很困惑,可能会有点困惑!对不起,如果解释不好的话。我正在使用集合练习Java流。我有一个自定义类型
PartiallyOrderedSet
初始化如下:

PartiallyOrderedSet-four=生成集(新整数[]{1,2,3,4})

在内部,它存储泛型E的集合,因此
makeSet
可以采用任何类型的E

为了创建PartiallyOrderedSet,我们使用如下makeSet,例如整数(尽管我们可以使用makeSet的多个重载将其转换为任何类型):

我想将它转换回java
Set
对象,以便打印元素集合的内部元素。我想使用Java流来实现这一点,尽管我完全迷路了。谁能帮帮忙吗

例如,输出应如下所示:

{1,2,3,4}
对于PartiallyOrderedSet-four=makeSet(新整数[]{1,2,3,4})

您可以尝试:-

设置myset=elements.stream().collect(Collectors.toSet())


但是,代码未经测试。

应该是这样的,您可以找到有关泛型的信息


谢谢你的回复。作为参考,它返回
[src.Test$Int@42f30e0a]
,它是内部对象。(src是包装内部测试)。我不确定是否需要再次转换它或其他什么。我还认为collect可能会返回一个列表?不确定。我认为它应该有
{
括号。@user3236779请看:您是否尝试调用myset.tostring()什么是
Int
?为什么创建这样一个类?
Integer
对您来说不够好吗?当基础数据是
集合时,为什么调用类
partiallyordedset
(在本例中,实际上是
List
),换句话说,既不是有序的也不是集合?除此之外,问题出在哪里还不清楚。您已经知道如何使用流进行转换。使用
elements.stream()
从集合而不是数组创建流是一个挑战吗?还是使用
collect(Collectors.toSet())
要创建
集而不是
列表
  private static PartiallyOrderedSet<Int> makeSet(Integer[] elts) {
    return new PartiallyOrderedSet<Int>(
        Arrays.asList(elts).stream().map(Int::new).collect(Collectors.toList()));
  }
private Collection<E> elements;
private static <T> PartiallyOrderedSet<T> makeSet(T[] elts) {
    return new PartiallyOrderedSet<T>(
      Arrays.asList(elts).stream().map(Int::new).collect(Collectors.toList()));
}
Set a = makeSet(new Integer[] {1,2,3,4});