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

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

比較兩個(gè)字符串?dāng)?shù)組而不知道哪個(gè)包含更多值

比較兩個(gè)字符串?dāng)?shù)組而不知道哪個(gè)包含更多值

動(dòng)漫人物 2021-07-14 17:15:56
我必須比較 Java 中兩個(gè)字符串?dāng)?shù)組的值并保存不同的字符串。我已經(jīng)知道如何比較相同大小的字符串?dāng)?shù)組。但問(wèn)題是,這些字符串?dāng)?shù)組的值計(jì)數(shù)一開始是未知的。因此,尚不清楚哪個(gè) String Array 更大。所以我必須處理以下場(chǎng)景:場(chǎng)景一 (大小相同,沒(méi)有區(qū)別):String[] test = {Test1, Test2, Test3}String[] test2 = {Test1, Test2, Test3}場(chǎng)景2(大小相同,但不同):String[] test = {Test1, Test2, Test3}String[] test2 = {Test1, Test2, Test4}場(chǎng)景 3(不同的大小 - 第一個(gè)字符串?dāng)?shù)組包含比第二個(gè)更多的值):String[] test = {Test1, Test2, Test3}String[] test2 = {Test1, Test2}場(chǎng)景 4(不同的大小 - 第二個(gè)字符串?dāng)?shù)組包含比第一個(gè)更多的值):String[] test = {Test1, Test2}String[] test2 = {Test1, Test2, Test3}實(shí)施場(chǎng)景一:for(int i = 0; i < test.length; i++){    if(! ( Arrays.asList(test).contains(test2[i]) ) ) {    } else {        System.out.println("Scenario 1");    }}實(shí)施場(chǎng)景2:ArrayList<String> compare_String = new ArrayList<>();for(int i = 0; i < test.length; i++){    if(! ( Arrays.asList(test).contains(test2[i]) ) ) {        compare_String.add(test2[i]);        System.out.println("Scenario2");    } else {        System.out.println("Scenario 1");    }} System.out.println(compare_String);但是如果您不知道第一個(gè)字符串?dāng)?shù)組包含的元素比第二個(gè)多,或者第二個(gè)字符串?dāng)?shù)組包含的元素比第一個(gè)多,如何處理場(chǎng)景 3 和 4?
查看完整描述

2 回答

?
守著星空守著你

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

我已經(jīng)實(shí)現(xiàn)了 compareArrays 方法來(lái)處理你的場(chǎng)景嘗試像下面這樣可能會(huì)解決你的問(wèn)題


  public class Test

  {

    public static void main(String[] args){

      compareArrays(new String[]{"Test1", "Test2", "Test3"},new String[]{"Test1", "Test2", "Test3"});

      compareArrays(new String[]{"Test1", "Test2", "Test3"},new String[]{"Test1", "Test2", "Test4"});

      compareArrays(new String[]{"Test1", "Test2", "Test3"},new String[]{"Test1", "Test2"});

      compareArrays(new String[]{"Test1", "Test2"},new String[]{"Test1", "Test2", "Test3"});

    }

    private static void compareArrays(String[] test,String[] test2){

      if(test.length > test2.length){

        System.out.println("Scenario 3");

      }

      else if(test2.length > test.length){

        System.out.println("Scenario 4");

      }

      else {

        boolean same = true;

        for (int a=0;a<test.length;a++){

          if(!test[a].equalsIgnoreCase(test2[a])){

            same = false;

          }

        }

        if (same){

          System.out.println("Scenario 1");

        }

        else {

          System.out.println("Scenario 2");

        }

      }

    }

  }


查看完整回答
反對(duì) 回復(fù) 2021-07-29
?
守候你守候我

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

使用布爾數(shù)組來(lái)跟蹤重復(fù)的字符串,只需檢查一個(gè)數(shù)組的所有元素以查看另一個(gè)數(shù)組是否包含它。第二個(gè)數(shù)組的未使用字符串在第一個(gè)數(shù)組中也丟失,因此無(wú)論數(shù)組大小如何,您都可以將它們放在差異上。


String[] array1;

String[] array2;


ArrayList<String> diff = compare_arrays(array1, array2);


public ArrayList<String> compare_arrays(String[] a1, String[] a2){

    ArrayList<String> diff = new ArrayList<String>();


    boolean[] rep = new boolean[a2.length];


    Arrays.fill(a2, false);


    for(String str : a1){

        if(!Arrays.asList(a2).contains(str)){

            diff.add(str);

        }

        else{

            rep[Arrays.asList(a2).indexOf(str)] = true;

        }

    }


    for(int i = 0; i < a2.length; i++){

        if(!rep[i]){

            diff.add(a2[i]);

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2021-07-29
  • 2 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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