使用两种泛型类型的对象填充arraylist

时间:2015-12-11 20:16:16

标签: java class generics arraylist data-structures

我创建了一个类似{/ p>的类Entry

public class Entry<S,E>{
    S Item1;
    E Item2;
    Entry(S s, E e){
        this.Item1=s;
        this.Item2=e;
    }
}

我想制作此类ArrayList。它应该是什么样的?

如何添加item1,但稍后保留item2 null? (换句话说,用item1填充数组并为null填充item2,数组看起来像[1] Item1,null,[2] Item1,null,等)

1 个答案:

答案 0 :(得分:2)

你可以像任何其他名单一样。

List是一个打字界面。我们将其命名为通用类型T。这意味着我们的界面为List<T>。在这里,我们想要一个Entry<S, E>列表SE;所以在这种情况下,T = Entry<S, E>。因此,列表为List<Entry<S, E>>

示例代码:

List<Entry<S, E>> list = new ArrayList<>();
list.add(new Entry<>(item1, item2));
list.add(new Entry<>(item1, null));

S = StringE = Integer

中采用更具体的示例
List<Entry<String, Integer>> list = new ArrayList<>();
list.add(new Entry<>("foo", 1));
list.add(new Entry<>("bar", null));