ArrayList>有什么用?

发布于 2024-12-09 08:09:56 字数 106 浏览 0 评论 0 原文

您能否给出 ArrayList> 的任何合理示例,例如声明、初始化、添加元素和迭代它们。这是在 Java 中获得二维数组行为的方法之一吗?

Can you give any reasonable example for a ArrayList<ArrayList<E>>, such as declaring, initializing, adding elements and iterating them. Is this one of the way to get 2-dimensional Array behavior in Java?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尾戒 2024-12-16 08:09:56

是的,ArrayList> 类似于 E 的二维数组 (E[][])。它具有在 Java 中使用 List 和使用数组之间的所有共同区别(List 是一个更高级别的 API,支持调整大小、在任意位置添加元素,... )。

您不会将其与普通 List 区别对待,只是它包含的元素实际上是其他 List 对象:

  • 初始化它:

    ArrayList>; listOfLists = new ArrayList>();
    
  • 迭代它:

    for (ArrayList insideList : listOfLists) {
      doSomethingWithInnerList(innerList);
    }
    
  • 添加到它:

    ArrayList; newInnerList = new ArrayList();
    // 添加内容到 newInnerList
    listOfLists.add(newInnerList);
    

Yes, an ArrayList<ArrayList<E>> is similar to a two-dimensional array of E (E[][]). It has all the common differences between using a List and using arrays in Java (List is a higher-level API, supports resizing, adding elements at arbitrary positions, ...).

You don't treat it any different from a normal List, except that the elements it contains are actually other List objects:

  • Initialize it:

    ArrayList<ArrayList<E>> listOfLists = new ArrayList<ArrayList<E>>();
    
  • Iterate over it:

    for (ArrayList<E> innerList : listOfLists) {
      doSomethingWithInnerList(innerList);
    }
    
  • Add to it:

    ArrayList<E> newInnerList = new ArrayList<E>();
    // add stuff to newInnerList
    listOfLists.add(newInnerList);
    
冷默言语 2024-12-16 08:09:56

我想在 Joachim Sauer 的答案中添加的唯一一件事是,是的,ArrayList>可以类似于 E 的二维数组( E[][])还有一个额外的变化(除了一维数组和列表之间的所有常见差异之外):

使用列表列表,您可以制作相当于“锯齿状”的结果大批。并非所有内部列表都需要具有相同的 size(),而在二维数组中,E[][] 的所有“行”均由定义具有相同的长度。它是“矩形”。列表的列表不必是矩形的;它可以是锯齿状的。

The only thing I want to add to Joachim Sauer's answer is that yes, an ArrayList<ArrayList<E>> can be similar to a two-dimensional array of E (E[][]) with one additional twist (in addition to all the usual differences between one-dimensional arrays and lists):

Using a list of lists, you can make the equivalent of a "jagged" array. Not all of the inner lists need to have the same size(), whereas in a two-dimensional array, all of the "rows" of E[][] by definition have identical lengths. It's "rectangular". A list of lists doesn't have to be rectangular; it can be jagged.

撩发小公举 2024-12-16 08:09:56

ArrayList用于保存对象数组。另一方面它可以有重复的值。当您需要快速插入/删除时,可以使用它。它以与输入的顺序相同的顺序保存值。例如

List<String> ls= new ArrayList<String>();
ls.add("foo");
ls.add("bar");
for(String val:ls){
    System.out.println("Value :" + val);
}

ArrayList is used to hold array of objects. On the other it can have duplicate values. when you need a fast insertion/deletion you can use it. it holds the values in the same order as it is entered into it. For example

List<String> ls= new ArrayList<String>();
ls.add("foo");
ls.add("bar");
for(String val:ls){
    System.out.println("Value :" + val);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文