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"}; for (String 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操作,一直到底!
***********若有错误欢迎指正
欢迎关注微信公众号【软测小生】,号内有大量免费软件测试学习资料,欢迎自取,还望多多交流软件测试相关的内容*********