java - Java 从 ArrayList 中删除

标签 java arraylist

我试图通过从 JList 中选择项目并单击“删除”来从数组列表中删除项目。

我到目前为止的代码,

buttondeleteContact.addActionListener(new ActionListener() {    
  public void actionPerformed(ActionEvent event) {
    if (contactList.getSelectedIndex() != -1) {
      people.removeElementAt(contactList.getSelectedIndex());   
      People.remove(contactList.getSelectedIndex());
      System.out.println(People);
    }
  });

我知道有些东西的命名很糟糕,但是 people(小写 p)是我的 DefaultListModel 的名称,而 People(大写 P)是我的 ArrayList 的名称。基本上,我只想从数组中删除 4 行的 block 。所以,数组中的位置,以及它后面的 3。

最佳答案

虽然 ListArrayList 没有直接(且可访问)removeRange() 方法,但需要这样的方法通过提供 subList() 方法删除。

subList() 提供原始列表的一部分的 View 。需要注意的重要部分是,修改返回的 List 也会修改原始的 List。因此,要删除索引 indexindex+3 的元素,您可以这样做:

myList.subList(index, index+4).clear();

请注意,subList() 的第二个参数是独占的,因此此 subList() 调用将返回一个大小为4.

关于java - Java 从 ArrayList 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1810419/

相关文章:

java - 使用 TITAN DB 手动安装 gremlin 服务器

java - 重新排列单词以在一行中容纳最大单词数并使用 Java 创建更少的行数

java - 覆盖 Arraylist 中的现有对象

java - 选择流的序列

java - 对 2 个 arraylist 进行排序,每个 arraylist 代表 x 和 y 坐标

java - 由于使用 apache-poi 库创建下拉列表而导致 Excel 损坏

java - 错误类型不兼容 : Comparable<T> cannot be converted to T

java - SBT Java EE 示例入门

java - Spring aop中@Before @After和@AfterExecution有什么区别

java - getDeclaredConstructor 方法的参数