Java去重字符串的两种方法以及java中冒号的使用


package com.removesamestring;
import java.io.BufferedWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Removesamestring {

    public static void main(String[] args) {        
        String text = "test test text text remove remove string string";
        System.out.println("strWay1:"+strWay1(text));
        System.out.println("strWay2:"+strWay2(text));        
    }  
//方法一
public static String strWay1(String text) { String[] str = text.split(" "); if(str.length == 0) { return null; } List<String> list = new ArrayList<String>(); StringBuffer sb = new StringBuffer(); for(int i = 0;i < str.length; i++) { if(!list.contains(str[i])){ list.add(str[i]); sb.append(str[i]+" "); } } return sb.toString().substring(0,sb.toString().length()-1); } //方法二 public static String strWay2(String text) { String[] str = text.split(" "); ArrayList<String> as = new ArrayList<>(); f:for(int i = 0; i < str.length;i++) { for(int j = 0; j < as.size();j++ ) { if(str[i].equals(as.get(j))) { continue f;//里层的循环continue直接跳出外层循环,继续执行外层循环 } } as.add(str[i]); } StringBuffer buffer = new StringBuffer(); for(String string : as) { buffer.append(string+" "); } return buffer.toString().substring(0,buffer.toString().lastIndexOf(" ")); } }

 在学习的过程中,又发现了一个新的知识点,java 中的冒号(:),可以这么来用:用作跳转标记。解释如图中红色注释。
下面来回忆一下另外三种用法:

  • 其一: 用来遍历

    String[] abc = new String[3]{"a","b","c"}; forString str : abc){ System.out.println(str); //这个地方的冒号就是遍历abc的集合,取出每一个元素
  • 其二: 三元运算符   Boolean ? true的内容:false的内容

    int a=1; int b=3; int i = a>b?3:1;//这个地方的冒号用来选择值,如果a大于b,那么i=3(true),否则i=1(false)
  • 其三:  switch选择

    ..... switch (i) { case "AUS": URL= GetComposedParameters("globalfund", "AUS", "no", "no", "en-AU", "A4",""); break; case "GFRP1": URL= GetComposedParameters("globalfundp1", "", "no", "no", "en-GB", "A4",""); break; case "NZ": URL= GetComposedParameters("globalfund", "NZ", "no", "no", "en-NZ", "A4",""); break; } return URL;

   //用于switch选择,当i等于下面的值事,执行后面的操作,然后break跳出; 如果没有break,那么将执行下面的oprate操作,一直到底!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM