我试图通过从 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。
最佳答案
虽然 List
和 ArrayList
没有直接(且可访问)removeRange()
方法,但需要这样的方法通过提供 subList()
方法删除。
subList()
提供原始列表的一部分的 View 。需要注意的重要部分是,修改返回的 List
也会修改原始的 List
。因此,要删除索引 index
到 index+3
的元素,您可以这样做:
myList.subList(index, index+4).clear();
请注意,subList()
的第二个参数是独占的,因此此 subList()
调用将返回一个大小为4.
关于java - Java 从 ArrayList 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1810419/