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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中進(jìn)行合并,相交,差異和反向數(shù)據(jù)

如何在Java中進(jìn)行合并,相交,差異和反向數(shù)據(jù)

ibeautiful 2019-11-13 13:15:58
我想在Java中進(jìn)行聯(lián)合,相交,差異和反向操作。首先我有2個實(shí)例 ArrayList<Integer>a = [0,2,4,5,6,8,10]b = [5,6,7,8,9,10]聯(lián)盟b應(yīng)該返回 c = [0,2,3,4,5,6,7,8,9,10]a相交b應(yīng)該返回 c = [5,8,10]a偏差b應(yīng)該返回 c = [0,2,3,4]相反 a = [10,8,6,5,4,2,0]這樣的事情。如何在Java中實(shí)現(xiàn)該方法?更新:我必須從以下模板開始:package IntSet;import java.util.ArrayList;import java.util.Collection;public class IntSet {private ArrayList<Integer> intset;public IntSet(){    intset = new ArrayList<Integer>();}public void insert(int x){    intset.add(x);}public void remove(int x){    //implement here    intset.indexOf(x);}public boolean member(int x){    //implement here    return true;}public IntSet intersect(IntSet a){    //implement here    return a;}public IntSet union(IntSet a){    //implement here    return a;}public IntSet difference(IntSet a){    //implement here    IntSet b = new IntSet();    return b; }
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊

//Union 

List<Integer> c = new ArrayList<Integer>(a.size() + b.size());

addNoDups(c,a);

addNoDups(c,b);


private void addNoDups(List<Integer> toAddTo,List<Integer> iterateOver) {

    for(Integer num:iterateOver){

        if(toAddTo.indexOf(num) == -1) {

            toAddTo.add(num);

        }

    }

}


//intersection

List<Integer> c = new ArrayList<Integer> (a.size() > b.size() ?a.size():b.size());

c.addAll(a);

c.retainAll(b);


//difference a-b

List<Integer> c = new ArrayList<Integer> (a.size());

c.addAll(a);

c.removeAll(b);


查看完整回答
反對 回復(fù) 2019-11-13
?
動漫人物

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

首先,您描述的操作(反向操作除外)是集合操作,而不是列表操作,因此請使用HashSet或(如果需要訂購)TreeSet。


    Set<Integer> a = new TreeSet<Integer>(Arrays.asList(new Integer[]{0,2,4,5,6,8,10}));

    Set<Integer> b = new TreeSet<Integer>(Arrays.asList(new Integer[]{5,6,7,8,9,10}));


    //union

    Set<Integer> c = new TreeSet<Integer>(a);

    c.addAll(b);

    System.out.println(c);


    //intersection

    Set<Integer> d = new TreeSet<Integer>(a);

    d.retainAll(b);

    System.out.println(d);


    //difference

    Set<Integer> e = new TreeSet<Integer>(a);

    e.removeAll(b);

    System.out.println(e);


    //reverse

    List<Integer> list = new ArrayList<Integer>(a);

    java.util.Collections.reverse(list);

    System.out.println(list);


查看完整回答
反對 回復(fù) 2019-11-13
  • 3 回答
  • 0 關(guān)注
  • 571 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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