标签: arraylist

Java ArrayList索引

int[] alist = new int [3];
alist.add("apple");
alist.add("banana");
alist.add("orange");
Run Code Online (Sandbox Code Playgroud)

假设我想使用ArrayList中的第二项.为了获得以下输出,编码是什么?

输出:

香蕉

java arraylist

24
推荐指数
5
解决办法
33万
查看次数

什么是List与ArrayList?

这两个对象之间的根本区别是什么?一个更有效率?有没有更多的方法?

java list arraylist

24
推荐指数
3
解决办法
6万
查看次数

couchdb搜索或过滤关键数组

我在我的视图功能中有这个:

emit([doc.address.country,doc.address.state, doc.address.city], doc);
Run Code Online (Sandbox Code Playgroud)

当我查询搜索时,我需要填充数组的所有3个元素,例如:

?key=["US","NY","New York"]
Run Code Online (Sandbox Code Playgroud)

这将产生我的记录,但举例来说,我只想返回美国的所有内容,例如:

?key=["US"]   
Run Code Online (Sandbox Code Playgroud)

或者在美国和州......

?key=["US","NY"] 
Run Code Online (Sandbox Code Playgroud)

或者...让我们说也许我只想要来自纽约的所有记录...(我知道以下不起作用)

?key=["","NY"]
Run Code Online (Sandbox Code Playgroud)

如果你想将数组中的一个元素留空,我真的不知道如何搜索?

arrays couchdb key view arraylist

24
推荐指数
1
解决办法
1万
查看次数

ArrayList初始容量和IndexOutOfBoundsException

考虑以下示例代码:

List<String> myList = new ArrayList<String>(7);
myList.add(5, "Hello");
myList.removeAll(Collections.singleton(null));

System.out.println(myList.size() + " objects:" );
for (String s : myList) {
    System.out.println("\t" + s);
}
Run Code Online (Sandbox Code Playgroud)

myList 初始化初始容量为7,然后下一行尝试在位置5添加字符串"Hello".这会抛出IndexOutOfBoundsException:

线程"main"中的异常java.lang.IndexOutOfBoundsException:索引:5,大小:0

我查看了关于"初始容量"对于ArrayList意味着什么的这个问题.据我所知,这个特殊的构造函数为7个String元素分配了空间,如果我们尝试在列表中添加8个元素,则必须分配更多的空间.

我不明白的是为什么它不会创建大小为7的"空"列表,每个索引都有空值,类似于我们声明的情况String[] myArray = new String[7].我记得我知道ArrayList是Java的动态数组实现,所以我期待类似的行为.如果我在申报时实际上没有分配7个字符串的空间,new ArrayList<String>(7)实际发生了什么?

java string arraylist

24
推荐指数
2
解决办法
2万
查看次数

ArrayList.addAll的任何null安全替代?

我正在重构我编写的一些旧代码,并且我在这段代码上做了标记:

    List<OcmImageData> fullImagePool = new ArrayList<>();
    if (CollectionUtils.isNotEmpty(style.getTestMH())) {
        fullImagePool.addAll(style.getTestMH());
    }
    if (CollectionUtils.isNotEmpty(style.getTrousers())) {
        fullImagePool.addAll(style.getTrousers());
    }
    if (CollectionUtils.isNotEmpty(style.getDetailRevers())) {
        fullImagePool.addAll(style.getDetailRevers());
    }
    if (CollectionUtils.isNotEmpty(style.getDetailCuffs())) {
        fullImagePool.addAll(style.getDetailCuffs());
    }
    if (CollectionUtils.isNotEmpty(style.getDetailInner())) {
        fullImagePool.addAll(style.getDetailInner());
    }
    if (CollectionUtils.isNotEmpty(style.getDetailMaterial())) {
        fullImagePool.addAll(style.getDetailMaterial());
    }
    if (CollectionUtils.isNotEmpty(style.getComposing())) {
        fullImagePool.addAll(style.getComposing());
    }
    ...
Run Code Online (Sandbox Code Playgroud)

所以基本上我需要创建一个ArrayList,其中包含这里引用的所有列表,因为它们可以为null(它们是从一个封闭的源代码框架中提取出来的数据库,不幸的是如果他没有找到任何东西它就是null),我需要每次检查集合是否为null时将它们添加到此池中,这看起来很奇怪.

是否有库或Collection-Framework实用程序类,使我能够在不执行空安全检查的情况下将集合添加到另一个集合中?

java collections arraylist

24
推荐指数
4
解决办法
3万
查看次数

ArrayList和修改其中包含的对象

假设我们有一个ArrayList myArray.我想通过调用它的函数来修改一个对象.如果我这样做,原始对象是否会被更改?

myArray.get(0).myModyfyingFunction();
Run Code Online (Sandbox Code Playgroud)

为了进一步澄清 - 我担心get()实际上是返回对原始对象的引用还是只返回原始对象的副本.

java arraylist pass-by-reference

23
推荐指数
2
解决办法
5万
查看次数

如何合并两个没有重复的ArrayLists?

我有两个数组列表

ArrayList one = {A, B, C, D, E}
ArrayList two = {B, D, F, G}  
Run Code Online (Sandbox Code Playgroud)

我想有我最后的ArrayList这将对所有社会的因素,哪些是只有两个,而不是在一个元素.

所以ArrayList final = {A,B,C,D,E,F,G}.

我怎样才能做到这一点?

java arraylist

23
推荐指数
2
解决办法
8万
查看次数

如何在Java中将自定义类的ArrayList转换为JsonArray?

我试图将自定义类的ArrayList转换为JsonArray.以下是我的代码.它执行正常,但一些JsonArray元素为零,即使它们是ArrayList中的数字.我试图将它们打印出来.就像ArrayList中的customerOne年龄是35但在JsonArray中它是0.可能有什么不对?

    ArrayList<Customer> customerList = CustomerDB.selectAll();
    Gson gson = new Gson();

    JsonElement element = 
     gson.toJsonTree(customerList , new TypeToken<List<Customer>>() {}.getType());

    JsonArray jsonArray = element.getAsJsonArray();
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist gson

23
推荐指数
3
解决办法
4万
查看次数

使用Arrays.asList()初始化List的最佳方法是什么

我使用下面的代码.两者都在我的应用程序中工作正常.

情况1.

List<String> coreModules =
    new ArrayList<String>(Arrays.asList(
        "TOOLBAR_TO_DO_LIST",
        "TOOLBAR_PROPERTY",
        "TOOLBAR_PEOPLE",
        "TOOLBAR_INSURANCE",
        "TOOLBAR_BATCH",
        "TOOLBAR_INFORMATION_REFERENCE",
        "TOOLBAR_LR_PROPERTY",
        "TOOLBAR_CASE_FOLDER",
        "TOOLBAR_INSPECTION_RESULT",
        "TOOLBAR_MY_OFFICE"));
Run Code Online (Sandbox Code Playgroud)

案例2.

List<String> coreModules =
    Arrays.asList(
        "TOOLBAR_TO_DO_LIST",
        "TOOLBAR_PROPERTY",
        "TOOLBAR_PEOPLE",
        "TOOLBAR_INSURANCE",
        "TOOLBAR_BATCH",
        "TOOLBAR_INFORMATION_REFERENCE",
        "TOOLBAR_LR_PROPERTY",
        "TOOLBAR_CASE_FOLDER",
        "TOOLBAR_INSPECTION_RESULT",
        "TOOLBAR_MY_OFFICE");
Run Code Online (Sandbox Code Playgroud)

但我有一些问题:

  1. 哪一个在性能方面更好?
  2. 在哪种情况下更喜欢案例2?

java arrays collections list arraylist

23
推荐指数
1
解决办法
7万
查看次数

不兼容的类型ListList和ArrayList的ArrayList

以下行给出了错误:

Incompatible Types.

List<List<Integer>> output = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)

是什么原因?

编辑

我理解如果我将我的第二个ArrayList更改为List,它不会给我错误.我想知道错误的原因.谢谢

java list arraylist incomplete-type

23
推荐指数
6
解决办法
3万
查看次数