java字符串相关api及简单实现3

4 篇文章 0 订阅

    工作一年有余了,最近有公司打电话邀请面试,抱着找打击和检验自己水平的心态应邀,面试之后发现自己的java基础知识方面的知识还是相当薄弱,平时copy久了,纸上写代码的能力严重下降,立此贴,总结一下java中最常使用的字符串操作,希望自己真正用得上的时候不至于连基本的知识都答不上。平时遇到这些简单基础的问题,往往从程序片段里面copy,或者搜索一下,脑袋日渐麻木。

    1.字符串反转。

    字符串反转有两种方式:

    a.使用java的api函数:

       

String reverse(String str){
    return new StringBuffer(str).reverse().toString();
}
    b.自己手写反转函数:

    

String reverse(String str){
    char[] ch = str.toCharArray();
    char[] tmpch = new char[ch.length];
    int j = 0;
    for(int i=ch.length -1 ;i>=0;i--){
        tmpch[j++] = ch[i];
    }  
<pre name="code" class="java">   return new String(tmpch);<pre name="code" class="java">
}
 
 
 

    2.List,Set,Map的常见操作:

    有lista 和 listb,要求 lista并listb  和 lista交listb 的差集;

 List<Integer> lista = new ArrayList<Integer>();
	 list.add(1);
	 list.add(2);
	 list.add(3);
	 list.add(3);
	 Set<Integer> set = new HashSet<Integer>();
	 set.add(0);
	 set.add(4);
	 set.add(2);
	 Iterator it=set.iterator();

	 List list1 = new ArrayList();
	 list1.addAll(list);
	 list1.addAll(set);
	 List list2 = new ArrayList();
	 list2.addAll(list);
	 list2.retainAll(set);
	 list1.removeAll(list2);
	it = list1.iterator();
	while(it.hasNext()){
		System.out.println(it.next().toString());
	}

    3.String,StringBuffer,StringBuilder的区别?

    String 是final类型其值是不可以改变的,每次对String的改变其实都是生成了新的对象。

    StringBuffer值可以append和insert,每次改变都是在原对象上的改变,没有生成新的对象,StringBuffer是线程安全的。

    StringBuilder基本功能是StringBuffer一样,唯一的区别是StringBuilder是线程不同步的。

   效率排序 StringBuilder > StringBuffer > String


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值