JAVA中STL使用
Vector:和c++的vector使用方法类似。
Vector<Integer> vec=new Vector<> ();
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); } }
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();//弹出栈 } }
HashSet:无重复元素。
HashSet<Integer> hashset=new HashSet<>();
HashMap:
HashMap<Integer, Integer> map=new HashMap<>();
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<>(); } }