java列表中任意数量的列表
有没有一种方法可以在java中的列表中添加任意数量的列表 例如:java列表中任意数量的列表,java,Java,有没有一种方法可以在java中的列表中添加任意数量的列表 例如: List<List<T>, List<T>, List<T>> List<List<T>> listOfLists = new ArrayList<List<T>>(); for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example li
List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();
for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
listOfLists.add(new ArrayList<T>());
}
列表
我知道这是不正确的语法,但我想这样做 列表
将容纳任意数量的列表
。例如:
List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();
for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
listOfLists.add(new ArrayList<T>());
}
listOfLists=newarraylist();
对于(inti=0;i<10;i++){//10在这里是任意的;只是一个例子
add(newarraylist());
}
如果没有关于用例的更多信息或者您为什么要这样做,我就不能更具体了。列表
将包含任何数量的列表
。例如:
List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();
for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
listOfLists.add(new ArrayList<T>());
}
listOfLists=newarraylist();
对于(inti=0;i<10;i++){//10在这里是任意的;只是一个例子
add(newarraylist());
}
如果没有关于用例的更多信息或您为什么要这样做,我就不能更具体了。假设您有列表
list1
,list2
,…,listN
,有多种方法可以实现这一点:
为n元组创建自己的类:
此方法允许您将元组限制为特定大小,而无需重新实现集合
或列表
类的方法
public class ThreeTuple<A, B, C> {
private final A first;
private final B second;
private final C third;
public ThreeTuple(A first, B second, C third) {
this.first = first;
this.second = second;
this.third = third;
}
public A getFirst() {
return first;
}
public B getSecond() {
return second;
}
public C getThird() {
return third;
}
}
public class OtherClass {
public static void main(String[] args) {
new ThreeTuple(list1, list2, list3);
}
}
公共类三元组{
私人决赛第一名;
私人决赛B秒;
私人决赛C第三名;
公共三元组(A第一、B第二、C第三){
this.first=first;
这个秒=秒;
这个。三分之一=三分之一;
}
公共A getFirst(){
先返回;
}
公共B getSecond(){
返回第二;
}
公共C getThird(){
返回第三;
}
}
公共类其他类{
公共静态void main(字符串[]args){
新的三元组(列表1、列表2、列表3);
}
}
向列表中添加n个列表:
这种方法无疑是最简单的,但并不限制列表
List<List<T>> lists = new ArrayList<T>();
lists.add(list1);
lists.add(list2);
lists.add(list3);
List List=new ArrayList();
列表。添加(列表1);
列表。添加(列表2);
列表。添加(列表3);
假设您有列表list1
,list2
,…,listN
,有多种方法可以实现这一点:
为n元组创建自己的类:
此方法允许您将元组限制为特定大小,而无需重新实现集合
或列表
类的方法
public class ThreeTuple<A, B, C> {
private final A first;
private final B second;
private final C third;
public ThreeTuple(A first, B second, C third) {
this.first = first;
this.second = second;
this.third = third;
}
public A getFirst() {
return first;
}
public B getSecond() {
return second;
}
public C getThird() {
return third;
}
}
public class OtherClass {
public static void main(String[] args) {
new ThreeTuple(list1, list2, list3);
}
}
公共类三元组{
私人决赛第一名;
私人决赛B秒;
私人决赛C第三名;
公共三元组(A第一、B第二、C第三){
this.first=first;
这个秒=秒;
这个。三分之一=三分之一;
}
公共A getFirst(){
先返回;
}
公共B getSecond(){
返回第二;
}
公共C getThird(){
返回第三;
}
}
公共类其他类{
公共静态void main(字符串[]args){
新的三元组(列表1、列表2、列表3);
}
}
向列表中添加n个列表:
这种方法无疑是最简单的,但并不限制列表
List<List<T>> lists = new ArrayList<T>();
lists.add(list1);
lists.add(list2);
lists.add(list3);
List List=new ArrayList();
列表。添加(列表1);
列表。添加(列表2);
列表。添加(列表3);
如果您指的是任意嵌套的列表列表列表。。。您可能希望改用树状结构,如下所示:
class Tree<T> {
T element;
List<Tree<T>> children;
}
类树{
T元素;
列出儿童名单;
}
或者,如果要分离中间层和值,请执行以下操作:
interface Tree<T> {
}
class TreeNode<T> implements Tree<T> {
List<Tree<T>> children;
}
class TreeLeaf<T> implements Tree<T> {
T element;
}
接口树{
}
类TreeNode实现树{
列出儿童名单;
}
类TreeLeaf实现树{
T元素;
}
如果您指的是任意嵌套的列表列表列表。。。您可能希望改用树状结构,如下所示:
class Tree<T> {
T element;
List<Tree<T>> children;
}
类树{
T元素;
列出儿童名单;
}
或者,如果要分离中间层和值,请执行以下操作:
interface Tree<T> {
}
class TreeNode<T> implements Tree<T> {
List<Tree<T>> children;
}
class TreeLeaf<T> implements Tree<T> {
T element;
}
接口树{
}
类TreeNode实现树{
列出儿童名单;
}
类TreeLeaf实现树{
T元素;
}
你是说List
?对于任意嵌套的列表列表等,你可以直接删除java泛型内容:List nestesList=new ArrayList()
您的意思是List
?对于任意嵌套的列表列表等,您可以删除java泛型内容:List nestesList=new ArrayList()代码>不必使用新的ArrayList();您可以使用运算符,例如List ListofList=new ArrayList();}您不必使用新的ArrayList();您可以使用运算符,例如List ListofList=new ArrayList();}