第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如下代碼,求改進(jìn)的方法

如下代碼,求改進(jìn)的方法

白板的微信 2022-09-17 15:11:27
Java代碼  List<String> myRoles = new ArrayList<String>();  List<String> hasRoles = new ArrayList<String>();    public boolean hasRole()  {      for (String my : myRoles)      {      for (String role : hasRoles)          {          if(my.equals(role))          {              return true;          }      }      }            return false;  }  上面方面的邏輯是:myRoles集合中的字符串,只要有一個(gè)在hasRoles集合中存在,就返回true但是,這個(gè)方法嵌套了2層for循環(huán),效率似乎很低
查看完整描述

3 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

用Set做一個(gè)myRoles和hasRoles的并集,然后判斷這個(gè)并集的大小是不是等于myRoles和hasRoles的大小相加,如果不是的話,可定有重復(fù)了。

Java代碼  

  1. Set<String> totalRoles = new HashSet<String>();  

  2. List<String> myRoles = new ArrayList<String>();    

  3. List<String> hasRoles = new ArrayList<String>();    

  4.     

  5. public boolean hasRole()    

  6. {    

  7.     // you can use addAll()  

  8.     for (String my : myRoles)    

  9.     {    

  10.       totalRoles.add(my);  

  11.     }  

  12.     // you can use addAll()  

  13.     for (String role : hasRoles)    

  14.       totalRoles.add(role);       

  15.     }    

  16.     return totalRoles.size()==(myRoles.size()+hasRoles.size());  

  17. }   

查看下ArrayList.retainAll 和removeAll本質(zhì)上都做了兩個(gè)for循環(huán)


查看完整回答
反對(duì) 回復(fù) 2022-09-21
?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

你的最佳答案必須循環(huán)M+N次
但是第二個(gè)答案最壞情況下是M+N,而且沒有任何問題,不管List數(shù)據(jù)是否重復(fù)
但是你的最佳答案就不行了。

查看完整回答
反對(duì) 回復(fù) 2022-09-21
?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

為什么要用雙層循環(huán)?樓下的想到的辦法不敢恭維,首先想到的應(yīng)該是API的list的contains方法把
for (String my : myRoles){
   if(hasRoles.contains(my)){
      return true;
   }
}
return false;

查看完整回答
反對(duì) 回復(fù) 2022-09-21
  • 3 回答
  • 0 關(guān)注
  • 115 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)