java 手撕代码 常见需要记忆的符号

求长度:

数组: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);

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值