Skip to content

Instantly share code, notes, and snippets.

@rirakkumya
Created January 30, 2012 08:39
Show Gist options
  • Save rirakkumya/1703375 to your computer and use it in GitHub Desktop.
Save rirakkumya/1703375 to your computer and use it in GitHub Desktop.
java vs scala
//文字列で構成された配列から、大文字の数をカウントし配列毎に改行して表示する
//Java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Aaa {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("AddddsssSSDD");
list.add("aadDDDDD");
list.add("tttTTTttTTT");
Iterator<String> iter = list.iterator();
while(iter.hasNext()){
int upperCharCnt = 0;
String str = iter.next();
char[] charArray = str.toCharArray();
for(int charIndex = 0,maxLen = str.length();charIndex < maxLen;charIndex++){
if(Character.isUpperCase(charArray[charIndex])){
upperCharCnt++;
}
}
System.out.println(upperCharCnt);
}
}
}
結果
5
5
6
//scala
object Test extends App {
List("AddddsssSSDD","aadDDDDD","tttTTTttTTT").map(_.count(_.isUpper)).foreach(println)
}
結果:
5
5
6
//oneline対決
//oneline java
import java.util.*;public class Aaa {public static void main(String[] args) {Iterator<String> iter = Arrays.asList("AddddsssSSDD", "aadDDDDD","tttTTTttTTT").iterator();while (iter.hasNext()) System.out.println(iter.next().replaceAll("[^A-Z]", "").length());}}
//oneline scala
object Test extends App {List("AddddsssSSDD","aadDDDDD","tttTTTttTTT").map(_.count(_.isUpper)).foreach(println}}
@rirakkumya
Copy link
Author

scalaは1行でも読みやすいね

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment