有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的简单参数值对?

我想做一个简单的参数值对(SomeClass,SomeNumber),其中第一件事是参数 第二件事是它的价值。SomeNumber可以是整数、分数、负数等。SomeClass可以是字符串、颜色或任何可以与“SomeNumber”配对的东西

雇员和薪水的除名。(约翰,19.75),(大卫,25.50),(凯西,102.50) 例如颜色代码(color.black,0)、(color.blue,2)等

这是个好主意吗?如果不是,为什么? 如果是,那么如何在Java中实现


共 (4) 个答案

  1. # 1 楼答案

    你说的是Map

    An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.

    试试HashMap

    Map<String,Double> myMap = new HashMap<String,Double>();
          |       |     
          |       |
    SomeClass  SomeNumber
    
    myMap.put("John", 19.75); 
    
    SomeNumber num =  myMap.get("John");
    
  2. # 2 楼答案

    我建议使用Map来实现这种行为。例如,对于您列出的员工:

    Map<String, Double> employees = new HashMap<String,Double>(); 
    employees.put("John", 19.75); 
    employees.put("David", 25.50); 
    employees.put("Cathy", 102.50);
    

    然后可以使用该键访问元素

    double salary = employees.get("John");
    
  3. # 3 楼答案

    您可以使用Map<String, Double>或创建一个来保存数据。这取决于您根据所需功能的范围来决定实施哪种替代方案。如果你只是在寻找一种存储机制,我会选择Map,但如果你想要更多(其他方法等),我会选择这个类

    现在,你似乎正在把这些不同的“名称”和“颜色代码”概念合并成一个实体。我不会那样做。如果使用映射方法,我将维护两个不同的映射,一个用于(姓名、薪水)对,另一个用于颜色代码数据。如果您决定使用类,我将创建两个不同的类(可能都继承自同一基类)来保存每组数据。不要把不相关的东西合并成一个实体


    相关文档:

  4. # 4 楼答案

    这是否是一个好主意取决于你将如何处理它。在Java中实现这一点最简单的方法之一是创建一个简单的对象,其中包含两个字段(如果将变量设置为私有的话,可能还有getter和setter方法),一个用于字符串,一个用于十进制值

    public class MyClass {
        public String value1;
        public double value2;
    
        public MyClass(String v1, double v2) {
            value1 = v1;
            value2 = v2;
        }
    }