Java 常用轮子

写在前面

Welcome back! (也对我自己)

这一篇记录一些常用的Java工具包,与Python技巧相对应。后者也好长时间没更新了,以后会慢慢补上。

1
2
3
4
偷偷地我走了,
正如我偷偷地来。
偷偷地我挥一挥手,
不留下一篇SCI。

java.util

StringTokenizer 类

  • 用途:分割字符串,类似于python的 re.split().

构造方法

  1. StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格(“”)、制表符(\t)、换行符(\n)、回车符(\r)。
  2. StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。
  3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

常用方法

  1. int countTokens():返回nextToken方法被调用的次数。
  2. boolean hasMoreTokens():返回是否还有分隔符。
  3. boolean hasMoreElements():判断枚举 (Enumeration) 对象中是否还有数据。
  4. String nextToken():返回从当前位置到下一个分隔符的字符串。
  5. Object nextElement():返回枚举 (Enumeration) 对象的下一个元素。
  6. String nextToken(String delim):与 4 类似,以指定的分隔符返回结果。

示例

1
2
3
4
5
6
7
// Hadoop WordCount中,mapper的map方法。默认用空格分隔字符串
public void map(LongWritable key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
word.set(itr.nextToken());
context.write(word, one);
}