gpt4 book ai didi

java - 如何向另一个类上的 TreeMap 传递和获取值?

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:44 25 4
gpt4 key购买 nike

我正在尝试模拟生产系统,但现在在获取值并将值传递到位于不同类的 TreeMap 时遇到问题。

为了简要解释我打算做什么,我将创建一个面板,其中有一些文本面板用于保存值(用于添加到系统中的零件数量)和一个表格,用于设置系统上工作站的数量和参数。当我运行它时,这些值应该被存储以供进一步处理。

在上一个问题中,建议我使用 TreeMaps 来存储这些值,例如:

Station[num][type][avg_time][posx][posy][state]
Part[num][type][state]

这是我到目前为止编写的代码:

L.java

import java.awt.*;
import javax.swing.*;

public class L extends JFrame {

public static void main(String[] args) {


SwingUtilities.invokeLater(new Runnable() {
public void run() {
L l = new L();

TMap t = new TMap();
t.Station("num", 127);
t.Station("type", 3);
//System.out.println("Entryset: " + t.keySet());
//System.out.println("Entryset: " + t.Station() + "\n");
}
});

}

}

TMap.java

import java.util.*;

public class TMap {
//public TreeMap <String, Integer>St = new TreeMap<String, Integer>();
public int num_atrib = 6;
public static TreeMap<String, Integer> Station(String s,int i) {
TreeMap <String, Integer>St = new TreeMap<String, Integer>();
St.put(s,i);
System.out.println("Now the tree map Keys: " + St.keySet());
System.out.println("Now the tree map contain: " + St.values());
return St;
}
}

这正在输出:

Now the tree map Keys: [num]
Now the tree map contain: [127]
Now the tree map Keys: [type]
Now the tree map contain: [3]

我有两个问题,第一,这是正确的方法吗?因为我看到输出的 map 应该是 [num, type] 和键 [127, 3] 对吗?

其次,我以后如何从 L 类上的 TMap 获取参数,因为例如 t.keySet() 到目前为止不会检索任何内容!

希望我说清楚了,提前感谢您的帮助。

最佳答案

首先,每次调用 TMap.Station 时都会创建一个新的 TreeMap。尝试将 TreeMap 作为字段并在构造函数中对其进行初始化。这应该会为您提供带有两个键/值对的 map 。

回答你的第二个问题,是否有任何原因不能将 TMap 设为字段并仅创建访问和设置方法?如果您仅在函数中实例化它,那么一旦该函数退出,它就会消失(而且它的作用域仅在该函数中)。

编辑:回应评论...怎么样

编辑编辑:添加 setter/getter 的粗略轮廓。如果您想要像 put() 这样的东西,它会以类似的方式工作。

import java.awt.*;
import javax.swing.*;
import java.util.Set;

public class L extends JFrame {
private TMap t;

public L() {
t = new TMap();
}

public Set<String> getKeySet() {
return t.getKeySet();
}

public Integer get(String s) {
return t.get(s);
}

// your main method as before
}

import java.util.*;

public class TMap {
private TreeMap<String, Integer> St;
private int num_atrib = 6;

public TMap() {
St = new TreeMap<String, Integer>();
}

public Set<String> getKeySet() {
return St.keySet();
}

public Integer get(String s) {
return St.get(s);
}

public static TreeMap<String, Integer> Station(String s,int i) {
St.put(s,i);
System.out.println("Now the tree map Keys: " + St.keySet());
System.out.println("Now the tree map contain: " + St.values());
return St;
}
}

关于java - 如何向另一个类上的 TreeMap 传递和获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com