Java:返回 ArrayList 还是直接在方法中更新是更好的做法

标签 java oop arraylist composition

例如,我有一个 arrayObject,我将在辅助方法中对其进行迭代;在辅助函数中,我将提取并处理相关/重要信息并将其添加到 ArrayList 中。

我的问题如下:

问题一

是否最好将新创建的 ArrayList 作为参数/参数传递并直接在辅助函数中更新或者是否最好在辅助函数中创建 ArrayList 然后将其返回给我的分配的主要功能?不管怎样,我的 ArrayList 已更新,但哪个是更​​好的做法,为什么?有哪些潜在的缺点?

选项 1

ArrayList<SomeType> newArrayList = new ArrayList<SomeType>();
Array myArray = something.getSomeArray();
saveArrayToArrayList(myArray, newArrayList);

private static void saveArrayToArrayList(Array myArray, ArrayList<SomeType> newArrayList) {
    for (int j = 0; j < myArray.size(); j++) {
        /* processing myArray[j] to get "SomeType newItem" */
        newArrayList.add(newItem);
    }
}

选项 2

Array myArray = something.getSomeArray();
ArrayList<SomeType> newArrayList = saveArrayToArrayList(myArray);

private static ArrayList<SomeType> saveArrayToArrayList(Array myArray) {
    ArrayList<SomeType> newArrayList = new ArrayList<SomeType>();
    for (int j = 0; j < myArray.size(); j++) {
        /* processing myArray[j] to get "SomeType newItem" */
        newArrayList.add(newItem);
    }
    return newArrayList;
}

我在谷歌搜索时一直在思考这个问题。对我来说,第二个选项似乎更明显(可能是由于我的背景),但我认为,如果 ArrayList 对您来说并不明显,高效的 Java 用户会认为您不是一个真正的 Java 用户无论如何都会更新。那么,哪个更好呢? :S 或者,这是一个愚蠢的问题吗? :S

问题二

其次,对于每个选项,应该如何命名辅助方法,以使每个阅读我的代码的人都能清楚地了解正在发生的事情? saveArrayToArrayList 对我来说听起来很糟糕,哈哈!

最佳答案

在 ArrayList 上不推荐使用上述方法。

您应该使用addAll()

类似这样的事情:

originalArrayList.addAll(newArrayList);

关于Java:返回 ArrayList 还是直接在方法中更新是更好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858205/

相关文章:

java - 无法让 Java 使用 if 语句为变量赋值

java - 从 firebase 的导航栏中加载个人资料图像和用户名

c# - 对象中有对象列表是正常的吗?

c# - 在我的示例中,继承发生了什么?而且,C# 中的正确术语是什么?

javascript - 用对象构造数组

java - 从文件创建二叉树

Java Swing : overlay components for light and heavyweight components?

PHP 类成员和方法

java - 打印二维 ArrayList 矩阵的值

java - 在 arrayList 中搜索数字