Java中的列表接口 (由 ArrayList 和 链表 )提供了删除方法的两个版本。 布尔删除(对象对象对象): 它接受要删除的对象。如果找到并删除元素,则返回true。如果要删除的元素不存在,则返回false。
null
- 从给定列表中删除指定元素的第一个匹配项(如果该元素存在)。如果元素不存在,则给定的列表不会更改。
- 删除后,它会将后续元素(如果有)向左移动,并将其索引减少1。
它抛出以下异常 ClassCastException–如果指定元素的类型与此集合不兼容 (可选)。 NullPointerException–如果指定的元素为null且此集合不允许 空元素(可选)。 UnsupportedOperationException–如果此集合不支持删除操作
JAVA
// A Java program to demonstrate working of list remove // when Object to be removed is passed. import java.util.*; public class GFG { public static void main(String[] args) { // Demonstrating remove on ArrayList List<String> myAlist = new ArrayList<String>(); myAlist.add( "Geeks" ); myAlist.add( "Practice" ); myAlist.add( "Quiz" ); System.out.println( "Original ArrayList : " + myAlist); myAlist.remove( "Quiz" ); System.out.println( "Modified ArrayList : " + myAlist); // Demonstrating remove on LinkedList List<String> myLlist = new LinkedList<String>(); myLlist.add( "Geeks" ); myLlist.add( "Practice" ); myLlist.add( "Quiz" ); System.out.println( "Original LinkedList : " + myLlist); myLlist.remove( "Quiz" ); System.out.println( "Modified LinkedList : " + myLlist); } } |
输出
Original ArrayList : [Geeks, Practice, Quiz]Modified ArrayList : [Geeks, Practice]Original LinkedList : [Geeks, Practice, Quiz]Modified LinkedList : [Geeks, Practice]
对象删除(int索引): 它删除给定索引处的元素。它返回被删除的对象。
- 删除后,它会将后续元素(如果有)向左移动,并将其索引减少1。
- 如果列表包含int类型,则在传递int时调用此方法(请参阅 这 (详情请参阅)
如果索引超出范围,则抛出IndexOutOfBoundsException,
JAVA
// A Java program to demonstrate working of list remove // when index is passed. import java.util.*; public class GFG { public static void main(String[] args) { // Demonstrating remove on ArrayList List<String> myAlist = new ArrayList<String>(); myAlist.add( "Geeks" ); myAlist.add( "Practice" ); myAlist.add( "Quiz" ); System.out.println( "Original ArrayList : " + myAlist); myAlist.remove( "Quiz" ); System.out.println( "Modified ArrayList : " + myAlist); // Demonstrating remove on LinkedList List<String> myLlist = new LinkedList<String>(); myLlist.add( "Geeks" ); myLlist.add( "Practice" ); myLlist.add( "Quiz" ); System.out.println( "Original LinkedList : " + myLlist); myLlist.remove( 2 ); System.out.println( "Modified LinkedList : " + myLlist); } } |
输出
Original ArrayList : [Geeks, Practice, Quiz]Modified ArrayList : [Geeks, Practice]Original LinkedList : [Geeks, Practice, Quiz]Modified LinkedList : [Geeks, Practice]
要点:
- 请注意,由于数组的大小是固定的,所以无法直接删除数组中的元素。所以没有像add()、remove()、delete()这样的方法。但是在像ArrayList和Hashset这样的集合中,我们有这些方法。因此,当我们需要这些方法时,最好将array转换为ArrayList,或者从第一位使用ArrayList。
- 迭代元素时,不建议使用list接口的remove()。这可能会导致 ConcurrentModificationException (参考 这 对于有此异常的示例程序)。迭代元素时,建议使用 迭代器。删除() 方法请看 这 详细信息。
本文由 莫希特·古普塔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END