亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

String 字符串遍歷

public void testsort2() {
?? List<String>? string =new ArrayList<String>();
?? string.add("woshibaoqiang");
?? string.add("woshizhenzhenzhen");
?? string.add("woshibaoqiangdebaba");
?? System.out.println("----------------排序前");
?? for(String string1:string) {
??? System.out.println(string);
?? }
?? System.out.println("-------------排序后");
?? Collections.shuffle(string);
?? for(String string1:string) {
??? System.out.println(string);
?? }
? }

為什么輸出System.out.println(string);時是

[woshizhenzhenzhen, woshibaoqiangdebaba, woshibaoqiang]
[woshizhenzhenzhen, woshibaoqiangdebaba, woshibaoqiang]
[woshizhenzhenzhen, woshibaoqiangdebaba, woshibaoqiang]

這個結果呢???

我想的string是一個list的集合,那為什么會遍歷三次呢???

是它的長度為3嗎???? 他怎么知道它的長度為3呢??

正在回答

2 回答

System.out.println(string1);要這樣寫,你輸出的是string,string是list。要輸出每個元素,你自己定義的是String string1

1 回復 有任何疑惑可以回復我~
#1

慕瓜453346 提問者

我知道,我想知道的是為什么遍歷srting時,為什么會那樣輸出??
2018-11-03 回復 有任何疑惑可以回復我~
#2

給大佬遞茶 回復 慕瓜453346 提問者

要對list排序可以用Collections.sort(List<T> list),這個直接將list排序,對于字符串按照數字,大寫字母,小寫字母的優先級排序?;蛘哂胹ort(List<T> list,Comparator<? super T> c),這個方法需要寫一個實現Comparator接口的類,并在其中重寫Compare方法,這個方法指定比較規則。例如這個java第三季最后的撲克牌比較大小就可以用這個。
2018-11-03 回復 有任何疑惑可以回復我~
#3

給大佬遞茶 回復 慕瓜453346 提問者

遍歷三次,因為foreach遍歷三次。list有三個元素
2018-11-03 回復 有任何疑惑可以回復我~
#4

慕瓜453346 提問者 回復 給大佬遞茶

非常感謝
2018-11-04 回復 有任何疑惑可以回復我~
查看1條回復

? Collections.shuffle(string);你用個隨機排序的,官方解釋:??

public?static?void?shuffle(List<?>?list)

使用默認的隨機源隨機排列指定的列表。?所有排列都以大致相等的可能性發生。

在前面的描述中使用了“大約”對沖,因為默認的隨機源僅僅是獨立選擇的比特的無偏差源。?如果它是隨機選擇位的完美來源,則算法將選擇具有完美均勻性的排列。

該實現從最后一個元素向后移動列表,重復地將隨機選擇的元素交換到“當前位置”中。?從從第一個元素運行到當前位置(包括)的列表的部分中隨機選擇元素。

該方法運行在線性時間。?如果指定的列表沒有實現RandomAccess接口并且很大,則此實現將混合之前將指定的列表轉儲到數組中,并將該混洗的數組轉儲回列表中。?這避免了將“順序訪問”列表進行混洗所產生的二次行為。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

String 字符串遍歷

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號