繁体   English   中英

java中的push_back和pop_back

[英]Push_back and pop_back in java

我来自 C++ 背景。 我使用向量 push_back 和 pop_back 方法从向量中推送和弹出元素。 我知道 arraylist 有点等价于向量,但我没有在 arraylist API 中找到 push_back 和 pop_back 的等效方法。 我能找到的壁橱是LinkedList。 我是否遗漏了某些东西,或者是否还有其他与 C++ 中的 vector 等效的东西?

任何帮助表示赞赏。

使用add()ArrayListpush_back

对于pop_back您必须更多地使用索引和remove()

让我们看看这个例子:

// push_back equivalent
ArrayList<int> a = new ArrayList<int>();
a.add(2);             // Add element to the ArrayList.
a.add(4);

// pop_back equivalent.
a.remove(a.size()-1); // Remove the last element from the ArrayList.

使用ArrayList动态添加和删除元素。

对于push_back()使用.add()

add()方法在列表中添加元素

List<Integer> arrlist = new ArrayList<Integer>(); 
arrlist.add(10); 

对于pop_back()使用.remove()

remove()用于删除此列表中指定位置的元素。 因此,在方法中传递最后一个索引以删除最后一个元素

arrlist.remove(arrlist.size() - 1); 

您可以将add()用于push_back()remove()用于pop_back()

ArrayList<data_type> data = new ArrayList<data_type>();
data.add(value1);
data.add(value2);
data.remove(data.size() - 1);

PS: arraylist是一个容器而不是 API。

我们可以使用LinkedList<E>数据结构

在末尾add(E e)add(E e)

最后使用: pollLast()删除

例子:

package test;

import java.util.*;  
public class test{  
public static void main(String args[]){  

    LinkedList<String> al=new LinkedList<String>();  
    al.add("element1");  
    al.add("element2");  
    al.add("element3");  

    Iterator<String> itr=al.iterator();  
    while(itr.hasNext()){  
        System.out.print(itr.next()+" ");  
    } 

    System.out.println(" ");

    al.add("element4");  

    itr=al.iterator();  
    while(itr.hasNext()){  
        System.out.print(itr.next()+ " "); 
    } 
    System.out.println(" ");

    //pop_back
    al.pollLast();

    itr=al.iterator();  
    while(itr.hasNext()){  
        System.out.print(itr.next()+" ");  
      }  
    }  
}  

结果:

element1 element2 element3  
element1 element2 element3 element4  
element1 element2 element3 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM