JAVA中STL使用

Vector:c++vector使用方法类似。

Vector<Integer> vec=new Vector<> ();
View Code

ArrayList:Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> arr=new ArrayList<>();
        arr.add(1);//添加
        arr.add(2,6);
        arr.size();//获取长度
        arr.set(1, 4);//修改
        int st=arr.remove(0);//删除
        //arr.clear();//清空
        //arr.get(1);//获取
        int v=arr.indexOf(3);//获取索引
        System.out.println(v);
    }
 
}
View Code

LinkedList:LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        LinkedList<Integer> lin=new LinkedList<>();
        lin.addFirst(st);//在首部加
        lin.addLast(st);//在尾
        lin.removeFirst();//移除首元素
        lin.removeLast();//
        lin.push(st);//压入栈
        lin.pop();//弹出栈
    }
 
}
View Code

HashSet:无重复元素。

HashSet<Integer> hashset=new HashSet<>();
View Code

HashMap:

HashMap<Integer, Integer> map=new HashMap<>();
View Code

STL声明总结:

import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
 
        List<String> mylist1 = new ArrayList<>();
        List<String> mylist2 = new LinkedList<>();
        List<String> mylist3 = new Vector<>();
 
        Vector<String> vec = new Vector<>();
 
        Queue<String> que = new LinkedList<>();
 
        Stack<String> sta = new Stack<>();
 
        Set<String> myset = new HashSet<>();
        Set<String> myset2 = new TreeSet<>(); // Good
 
        Map<String, Integer> mymap = new HashMap<>(); // Good
        Map<String, Integer> mymap2 = new TreeMap<>();
    }
}
View Code
原文地址:https://www.cnblogs.com/solvit/p/9600591.html