求长度:
数组:int nums[], nums.length ;
字符串:String str; str.length();
Map map=new HashMap() ,map.size(); map.put(key,value);
map遍历和删除元素:
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i=0;i<5;i++)
map.put(i, i*i);
System.out.println(map.size());
for(int key:map.keySet())
System.out.print(map.get(key)+" ");
System.out.println();
map.remove(1);
for(int key:map.keySet())
System.out.print(map.get(key)+" ");
System.out.println();
Set set=new HashSet(); set.size();set.add(value);set.contains(value);
集合遍历和删除指定元素:
Set<Integer> set=new HashSet<Integer>();
for(int i=0;i<5;i++)
set.add(i*i);
Iterator it=set.iterator();
while(it.hasNext())
System.out.print(it.next()+" ");
System.out.println();
if(set.contains(16))
set.remove(16);
for(int key:set)
System.out.print(key+" ");
map和set不直接支持自定义类的key去重复,需要重写equals和hashCode方法;
List list=new ArrayList(); list.size(); list.add(value),list.get(i); list.contains(key); list.remove(i);
Map 初始化:Map<Integer,Integer> map=new HashMap<Integer,Integer>();
map.put(key,value),进入元素,如果之前key有一个value,新的vaue会将其覆盖。
遍历:
for(String key:map2.keySet())
System.out.println(map2.get(key));
栈的基本操作:
Stack<Integer> stack=new Stack<Integer>();
for(int i=0;i<4;i++)
stack.push(i);
System.out.println(stack.size());
System.out.println(stack.contains(1));
for(int i=0;i<stack.size();i++)
System.out.println(stack.get(i));
while(!stack.isEmpty()) {
System.out.println(stack.peek());
System.out.println(stack.pop());
}
队列初始化:Queue<Integer> queue=new LinkedList<Integer>();
Queue<Integer> queue=new LinkedList<Integer>();
for(int i=0;i<4;i++)
queue.offer(i);
System.out.println(queue.size());
System.out.println(queue.contains(1));
while(!queue.isEmpty()) {
System.out.println(queue.peek());
System.out.println(queue.poll());
}
队列的基本操作:queue.offer() 入队列,queue.pop()出队列,queue.size() 队列大小, queu.isEmpty()是否为空。
优先队列:
PriorityQueue<integer> priorityQueue=
new
PriorityQueue<integer>();
自定义PriorityQueue排序:
PriorityQueue<Node> queue=new PriorityQueue<Node>(N,new Comparator<Node>() {
public int compare(Node o1, Node o2) {
return o1.value-o2.value;
}});
或者不指定大小:
PriorityQueue<Node> queue=new PriorityQueue<Node>(new Comparator<Node>() {
public int compare(Node o1, Node o2) {
return o1.value-o2.value;
}});
排序:
Arrays.sort(node, new Comparator<Node>() {
@Override
public int compare(Node o1, Node o2) {
return o1.value-o2.value;
}
});
其他函数的用法:
(1)比较字符串不可以用==,要用 compareTo(),函数,String str1[]=str.split(" "),按照空格分割字符串,注意是双引号,不是单引号,String str1[]=str.split(‘ ’)这种写法是错误的。
(2)字符串转字符数组 char ch[]=s.toCharArray();,注意大小写;
StringBuffer str 类型的str的 str.reverse(); 后str本身也被逆序了;
StringBuffer 删除一个字符串,str.deleteCharAt(2);