Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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_String - Fatal编程技术网

Java 字符串数组还是数组列表,选择哪一个?

Java 字符串数组还是数组列表,选择哪一个?,java,arrays,string,Java,Arrays,String,输出:用户在下面输入 游戏开始10,4,U1,U2 player1存储U1,player2存储U2 现在,我有一个字符串数组: 列表项 字符串tot_玩家_game={“U1,H,B”,“U2,C,D”,“U3,E,F”} 我打算首先从上面的字符串数组中找到U1和U2,然后按如下方式存储值H、B、C、D 姓名:H B C D H=名字,B=姓氏,U1=用户名 我打算做的是首先用tot_玩家搜索存储在Player1中的U1。找到字符串后,获取该特定索引上的完整字符串并存储在另一个字符串变量中。完成

输出:用户在下面输入

游戏开始10,4,U1,U2

player1存储U1,player2存储U2

现在,我有一个字符串数组:

  • 列表项
  • 字符串tot_玩家_game={“U1,H,B”,“U2,C,D”,“U3,E,F”}

    我打算首先从上面的字符串数组中找到U1和U2,然后按如下方式存储值H、B、C、D

    姓名:H B C D

    H=名字,B=姓氏,U1=用户名


    我打算做的是首先用tot_玩家搜索存储在Player1中的U1。找到字符串后,获取该特定索引上的完整字符串并存储在另一个字符串变量中。完成此操作后,将此值拆分为username、firstname和lastname。我很困惑是选择arraylist还是字符串数组?我需要处理这些值,因为我想从数组中删除这些值,或者捕获每个用户名的历史记录。请向我建议执行此操作的最佳方法时必须考虑的问题。 1) Java中数组和ArrayList的第一个也是主要的区别是 该数组是一个固定长度的数据结构,而ArrayList是一个 可变长度集合类。不能更改数组的长度 一旦在Java中创建,但ArrayList在满时会重新调整大小 取决于容量和负载系数。因为ArrayList是内部的 由Java中的数组支持,ArrayList中的任何调整大小操作都会变慢 降低性能,因为它涉及到创建新阵列和复制内容 从旧阵列到新阵列

    2) Java中Array和ArrayList的另一个区别是 不能将泛型与数组一起使用,因为数组实例知道 如果需要,它可以保存并引发ArrayStoreException的类型是什么 尝试存储不能转换为数组类型的类型。 ArrayList允许您使用泛型来确保类型安全

    3) 您还可以比较Array和ArrayList如何计算长度 数组的大小或数组列表的大小。各种数组都提供长度 变量,表示数组的长度,而ArrayList提供大小() 方法来计算Java中ArrayList的大小

    4) ArrayList和Array的另一个主要区别是 无法在ArrayList中存储基元,它只能包含对象。 而数组在Java中可以同时包含原语和对象。虽然 Java5的自动装箱可能会给您一种存储原语的印象 在ArrayList中,它实际上会自动将原语转换为对象

    5) Java提供add()方法将元素插入ArrayList,您可以 可以简单地使用赋值运算符将元素存储到数组中

    6) Array与ArrayList的另一个区别是,您可以创建 在不指定大小的情况下,Java将创建数组 具有默认大小但必须提供数组大小的列表 通过初始化数组直接或间接创建时 在创建它的同时。顺便说一下,您还可以在 创造


    字符串[]数组和
    数组列表
    在效率上没有区别。ArrayList由
    对象
    数组支持,无论是泛型类型
    ArrayList
    基本上为支持数组和扩展数组提供了方便的类似列表的方法。不过,它是首选阵列,因为oracle工程师很可能创建了一个比手动调整阵列大小更高效的arraylist

    请向我建议执行此操作的最佳方法

    我认为您需要定义一个简单的
    Player
    类,该类包含用户标识符、用户名和姓氏字段

    然后将您的
    tot_game_players
    数组替换为
    HashMap
    map,然后您可以使用玩家信息填充该数组,以便“U1”映射到
    player(“U1”、“a”、“B”)

    您现在可以调用
    map.get(“U1”)
    ,而不是搜索tot\u game\u players数组。。。比如说


    将内容表示为数组或字符串列表既麻烦又脆弱。。。还有糟糕的OO设计。

    你认为什么是最好的,为什么?干杯,伙计:)有人告诉我,我不应该发布没有答案的链接,也不应该发布没有链接的答案。无论谁向你提出建议,我也会给那个家伙+1分:)。。看,这有助于如果你只发布链接作为答案,而没有任何描述,那么如果链接死了,你的答案将无效。此外,你不能复制链接中的所有来源并在这里发布,因为不允许剽窃。因此你应该向bothI+1'd发布他的建议,我只活跃了几天,我还在想办法弄清楚这里的情况,但谢谢大家!别担心!如果您发现答案有用,请将其标记为已接受,否则用户会认为该问题仍然需要答案
    System.out.print(">");
    str = ob.next();
    str1 = ob.next();
    String substr2[] = str.split(" ");
    String substr[] = str1.split(",");
    in_stone = Integer.parseInt(substr[0]);
    ubound_stone = Integer.parseInt(substr[1]);
    player1 = substr[2];
    player2 = substr[3];