Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表中有多个参数_Java - Fatal编程技术网

Java 列表中有多个参数

Java 列表中有多个参数,java,Java,我想做这样的事情 List<Integer, String, String> 列表 我希望能够迭代检索这三个参数中的任何一个。 我该怎么做呢? 谢谢您可以创建一个包含这三个变量的包装器类,然后将该包装器对象存储在列表中 比如说 public class ListWrapperClass { private String firstStringValue; private String secondStringValue; private Integ

我想做这样的事情

List<Integer, String, String>
列表
我希望能够迭代检索这三个参数中的任何一个。 我该怎么做呢?
谢谢

您可以创建一个包含这三个变量的包装器类,然后将该包装器对象存储在列表中

比如说

    public class ListWrapperClass {
    private String firstStringValue;
    private String secondStringValue;
    private Integer integerValue;

    public String getFirstStringValue() {
        return firstStringValue;
    }

    public void setFirstStringValue(String firstStringValue) {
        this.firstStringValue = firstStringValue;
    }

    public String getSecondStringValue() {
        return secondStringValue;
    }

    public void setSecondStringValue(String secondStringValue) {
        this.secondStringValue = secondStringValue;
    }

    public Integer getIntegerValue() {
        return integerValue;
    }

    public void setIntegerValue(Integer integerValue) {
        this.integerValue = integerValue;
    }
}

然后使用<代码>清单< /> >

< p>可以使用<代码>列表<代码>,然后根据索引检索你所检索的任何内容,但是你可以考虑创建一个包含这三个东西的类。

你需要的是一个元组类:

public class Tuple<E, F, G> {
    public E First;
    public F Second;
    public G Third;    
}
公共类元组{
公共教育优先;
第二次公开辩论;
第三,公共服务;
}
然后您可以迭代元组列表,并查看元组中的每个条目

List<Tuple<Integer, String, String> listOfTuple;
for (Tuple<Integer, String, String> tpl: listOfTuple){
    // process each tuple
    tpl.First ... etc
}

list当然,理想情况下,这个类本身及其属性应该有有意义的名称。是的,这是真的。但不幸的是,问题中没有具体说明:)为什么有getter和setter?它添加了太多不必要的代码。@Yrlec:是的,主要是为了OP的利益!我更喜欢使用getter和setter,以便以后更容易添加功能。如果我让外部类访问字段,我会使添加变得更加困难,例如,在设置字段之前进行验证。我不推荐这种非通用解决方案。我也不推荐!)这似乎不是一个正确的选择,因为这3个值不能共享同一个索引,因此它们之间没有应有的相关性。此外,应尽可能避免
列表
缺乏类型安全性。你为什么要这样做?一般来说,当我看到这是一个设计问题(从我自己的错误和其他人说:-)YO2GO,你应该考虑接受一些答案S到你的问题,所以在未来人们知道答案解决了你的问题。谢谢。我是新来的。这一次我接受了一个答案,以后我会这样做@jngguy在上面的示例中如何使用'listOfTuple.add()'?如果我愿意-listOfTuple.add(Tuple);,这是行不通的。提前谢谢。