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