Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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_Arrays_Object - Fatal编程技术网

在java中创建存储字符串和整数的数组

在java中创建存储字符串和整数的数组,java,arrays,object,Java,Arrays,Object,我想创建一个数组来存储公司股票的名称(字符串)和值(整数),但我不知道该怎么做 您有两个选择: 使用数组 使用更舒适的映射,特别是可以使用名称作为键来获取值 。。。。 public Map valueMap=new HashMap(); valueMap.put(“样本”,10); int value=valueMap.get(“示例”); ... 可以使用地图数据结构而不是数组。这基本上是一种具有键值对的集合类型。字符串名称可用作键,值为整数 Map<String,Integer>

我想创建一个数组来存储公司股票的名称(字符串)和值(整数),但我不知道该怎么做

您有两个选择:

  • 使用数组
  • 使用更舒适的映射,特别是可以使用名称作为键来获取值
  • 。。。。
    public Map valueMap=new HashMap();
    valueMap.put(“样本”,10);
    int value=valueMap.get(“示例”);
    ...
    

    可以使用地图数据结构而不是数组。这基本上是一种具有键值对的集合类型。字符串名称可用作键,值为整数

    Map<String,Integer> myMap = new HashMap<String, Integer>;
    
    MyMap.put("someone", 6);
    
    Map myMap=newhashmap;
    MyMap.put(“某人”,6);
    

    请注意,在查找过程中,使用HashMap比使用数组具有速度优势。HashMap查找的复杂性是O(log(n)),而数组的复杂性是O(n)。

    一个
    对象[]
    可以同时包含
    字符串和
    整数对象。下面是一个简单的例子:

        Object[] mixed = new Object[2];
        mixed[0] = "Hi Mum";
        mixed[1] = Integer.valueOf(42);
        ...
        String message = (String) mixed[0];
        Integer answer = (Integer) mixed[1];
    
    但是,如果像这样使用
    对象[]
    ,在访问元素时通常需要使用
    instanceof
    和/或类型转换

    任何常规涉及
    instanceof
    和/或类型转换的设计都需要怀疑。在大多数情况下,有一种更好(更面向对象、更高效、更不脆弱)的方法来实现相同的目的

    在您的特定用例中,听起来您真正需要的是一个映射对象,它从
    String
    (名称)映射到
    Integer
    (股票数量)。Java的好处在于,现有的库类提供了这种功能;e、 g.
    HashMap
    类,其中
    String
    作为键类型,
    Integer
    作为值类型


    另一种可能是某个自定义或泛型对类的数组、
    List
    Set
    。这些属性对
    Map
    类型具有不同的语义属性。

    您自己是否尝试过?创建一个类来保存这些属性,然后创建一个数组来保存此类的实例。如果名称是键,则使用类似Map myMap=HashMap()的映射;如果你真的需要一个数组,你可以使用一个包含变量的对象,或者使用一个映射你有一个输入错误:整数应该是整数。请把它修好谢谢你的回答。我的问题特别要求使用数组。
    Map<String,Integer> myMap = new HashMap<String, Integer>;
    
    MyMap.put("someone", 6);
    
        Object[] mixed = new Object[2];
        mixed[0] = "Hi Mum";
        mixed[1] = Integer.valueOf(42);
        ...
        String message = (String) mixed[0];
        Integer answer = (Integer) mixed[1];