Java 常用方法

Java 把常用和好用的方法记录下来

1、将逗号分隔的字符串转换为List

List<String> list = Arrays.asList(str.split(","));

2、将List转换为逗号分隔的字符串

// (1) 利用Guava的Joiner
String str1 = Joiner.on(",").join(list); 

// (2) 利用Apache Commons的StringUtils
String str2 = StringUtils.join(list.toArray(), ","); 

// (3)JDK1.8方法
String str3 = String.join(",", list);

3、检查一个列表是否包含另一个列表中的元素

List<Object> list1 = new ArrayList<>;
List<Object> list2 = new ArrayList<>;
// 判断是否相交
if(!Collections.disjoint(list1, list2)){
  // 相交则存在重复
  ...
}

4、获取String中第N次出现某个字符的位置

import org.apache.commons.lang3.StringUtils;
// str为传入字符串,"["为查找的元素,index为第几次出现
int indexFront = StringUtils.ordinalIndexOf(str, "[", index);
int indexEnd = StringUtils.ordinalIndexOf(str, "]", index+1);

5、截取String字符串

// frontStr为起始到indexFront位置包含需要查询的"[",如不需要"[",则(0, indexFront)
// endStr 为indexFront位置到结束位置包含需要查询的"]",如不需要"[",则(indexEnd+1, content.length())
String frontStr = str.substring(0, indexFront+1);
String endStr = str.substring(indexEnd, content.length());

6、获取[]中内容

import java.util.regex.Matcher;
import java.util.regex.Pattern;

// 通过正则来提取[]中内容
List<String> list = new ArrayList<>();
// 需要的正则
Pattern p = Pattern.compile("(\\[[^\\]]*\\])");
// str需要提取的字符串
Matcher m = p.matcher(str);
while(m.find()){
  list.add((m.group().substring(1, m.group().length()-1)).trim());
}

7、List去重

List<String> list = new ArrayList<>;

// Java8特性去重
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());

// 利用set集合特性保持顺序一致去重
List<String> treeList = new ArrayList<>(new TreeSet<String>(list));
List<String> linkedList = new ArrayList<>(new LinkedHashSet<String>(list));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容