Java 语言中的元组

问题描述 投票:0回答:4

我想用 Java 做一些事情,比如 Python。

data = [
    ('1','One'),
    ('2','Two'),
    ('3','Three')
] # Please, Java, how can do that ?

### List<Integer, Double> data = new ArrayList<Integer, Double>() ???
### Or
### ArrayList<Integer, Double> data = new ArrayList<>() ????
## Or more ???

for datium in data:
    print(f"{datium[0]} - {datium[1]}")

请帮忙。

java python list arraylist tuples
4个回答
2
投票

Java 中没有对元组的一流支持。你可以


2
投票

不完全一样。但这应该可以解决您的目的。

package solutions;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;


public class MapExample {

    public static void main(String[] args) {
        Map<Integer, String> m=new HashMap<Integer, String>();
        m.put(1, "One");
        m.put(2, "Two");
        m.put(3, "Three");
        
        Set<Integer> keySet = m.keySet();
        for(Integer key:keySet) {
            System.out.println(key+"  "+m.get(key));
        }
        
    }

}

0
投票

使用

record

从 Java 16 开始
Java 14 中的预览:
https://docs.oracle.com/en/java/javase/14/language/records.html

record Pair(String n, String s) {};

Pair[] data = {             /* as array */
    new Pair("1", "One"),
    new Pair("2", "Two"),
    new Pair("3", "Three")};

List<Pair> data = List.of(  /* as list */
    new Pair("1", "One"),
    new Pair("2", "Two"),
    new Pair("3", "Three"));

(您应该定义更有意义的变量名称,具体取决于

Pair
中的用例)


© www.soinside.com 2019 - 2024. All rights reserved.