2015-12-23 41 views
2

this thread如何加入列表爲String加入所有,但第一要素列表中的字符串

我想知道什麼是最簡潔的方式,從列表中刪除一個元素,然後加入剩餘名單。例如,如果我的名單是:

[a, b, c, d] 

,我想String

"bcd" 

我怎麼能最簡潔地掉落,然後加入剩餘的元素?我是Java的新手,我的解決方案感覺很笨拙。

回答

7

如果您使用java8我喜歡用流和可用的收藏家:

String result = list.stream().skip(1).collect(Collectors.joining("")); 
+0

謝謝,這非常漂亮。嗯,在我的公司盒子裏,我被Java 7困住了:( –

+0

好吧,你應該使用一些具有'StringUtils'的庫,或者使用'StringBuilder'編寫你自己的函數。 –

2
String[] data = {"a", "b", "c", "d"}; 
String[] f = Arrays.copyOfRange(data, 1, 4); 
String r = Arrays.toString(f).substring(1).replaceAll("\\]$", "").replaceAll(", ", ""); 

它的工作與Java 6,沒有任何圖書館。

+0

謝謝,apreciate它 –

1

如果你想刪除像第一個或更多元素的其他元素,你可以使用filter來做 。我認爲這是非常普遍的方式。

String [] array = {"a","b","c","d", "a"}; 
    List<String> list = Arrays.asList(array); 
    String result = list.stream().filter(element -> !element.equals("a")).collect(Collectors.joining(",")); 
    String result2 = Arrays.stream(array).filter(element -> !element.equals("a")).collect(Collectors.joining(",")); 

    System.out.println(result); 
    System.out.println(result2); 
+0

這是否也只是Java 8? –

+0

不幸的是,它僅在Java 8中 –

+0

Arrays.stream() –

相關問題