/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
args
= new String [ ] { "Hello" ,
"great" ,
"amazing" ,
"world" ,
"of" ,
"awesome!" } ;
startTimer( ) ;
StringBuilder message = new StringBuilder( ) ;
if ( message.length ( ) != 0 )
message.append ( " " ) ;
message.append ( part) ;
}
System .
out .
println ( message.
toString ( ) ) ; endTimer( ) ;
startTimer( ) ;
StringBuilder message2 = new StringBuilder( ) ;
message2.append ( part) ;
message2.append ( ' ' ) ;
}
System .
out .
println ( message2.
substring ( 0 , message2.
length ( ) - 1 ) ) ; endTimer( ) ;
startTimer( ) ;
message.toString ( ) ;
endTimer( ) ;
startTimer( ) ;
message.substring ( 0 , message.length ( ) - 1 ) ;
endTimer( ) ;
}
private static long timeStart;
private static void startTimer ( ) {
timeStart
= System .
nanoTime ( ) ; }
private static void endTimer ( ) {
long c
= System .
nanoTime ( ) - timeStart
; System .
out .
println ( "Time: " + c
+ "ns (" + ( c
/ 1000000 ) + "ms)" ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWFyZ3MgPSBuZXcgU3RyaW5nW10geyJIZWxsbyIsICJncmVhdCIsICJhbWF6aW5nIiwgIndvcmxkIiwib2YiLCJhd2Vzb21lISJ9OwoJCQoJCXN0YXJ0VGltZXIoKTsKCQlTdHJpbmdCdWlsZGVyIG1lc3NhZ2UgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwoJCWZvciAoU3RyaW5nIHBhcnQgOiBhcmdzKSB7CgkJCWlmIChtZXNzYWdlLmxlbmd0aCgpICE9IDApCgkJCQltZXNzYWdlLmFwcGVuZCgiICIpOwoJCQltZXNzYWdlLmFwcGVuZChwYXJ0KTsKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKG1lc3NhZ2UudG9TdHJpbmcoKSk7CgkJZW5kVGltZXIoKTsKCQkKCQlzdGFydFRpbWVyKCk7CgkJU3RyaW5nQnVpbGRlciBtZXNzYWdlMiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CgkJZm9yIChTdHJpbmcgcGFydCA6IGFyZ3MpIHsKCQkJbWVzc2FnZTIuYXBwZW5kKHBhcnQpOwoJCQltZXNzYWdlMi5hcHBlbmQoJyAnKTsKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKG1lc3NhZ2UyLnN1YnN0cmluZygwLCBtZXNzYWdlMi5sZW5ndGgoKS0xKSk7CgkJZW5kVGltZXIoKTsKCQkKCQlzdGFydFRpbWVyKCk7CgkJbWVzc2FnZS50b1N0cmluZygpOwoJCWVuZFRpbWVyKCk7CgkJCgkJc3RhcnRUaW1lcigpOwoJCW1lc3NhZ2Uuc3Vic3RyaW5nKDAsIG1lc3NhZ2UubGVuZ3RoKCktMSk7CgkJZW5kVGltZXIoKTsKCX0KCQoJcHJpdmF0ZSBzdGF0aWMgbG9uZyB0aW1lU3RhcnQ7CgkKCXByaXZhdGUgc3RhdGljIHZvaWQgc3RhcnRUaW1lciAoKSB7CgkJdGltZVN0YXJ0ID0gU3lzdGVtLm5hbm9UaW1lKCk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIHZvaWQgZW5kVGltZXIgKCkgewoJCWxvbmcgYyA9IFN5c3RlbS5uYW5vVGltZSgpLXRpbWVTdGFydDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlRpbWU6ICIrYysibnMgKCIrKGMvMTAwMDAwMCkrIm1zKSIpOwoJfQp9