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

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

在 Java 中索引類的問題

在 Java 中索引類的問題

狐的傳說 2021-08-25 16:27:43
我碰巧在定義一個數(shù)組時遇到問題,其中索引應(yīng)該是類的元素,如下所示:MWE:package thisModel;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class ThisCode {    public static void main(String[] args) {        class Arc {            private int i; //starting node            private int j; // ending node            public Arc(int i, int j) {                this.i = i;                this.j = j;            }            @Override            public String toString() {                return Integer.toString(i) + " " + Integer.toString(j);            }        }         List<Arc> arcs = new ArrayList<Arc>();            int N = 7;            int [] b = new int [N];    }}所以,在這里,如果我按如下方式定義數(shù)組:int [] y = new int [arcs.size()];然后,錯誤在以下循環(huán)中彈出:for (int i = 0; i < N; i++) {                for (int j = 0; j < N; j++) {                    //my issue lies here:                     //y[Arc(i,j)] - y[Arc(j,i)] = b[i];                }            }我認(rèn)為這是因為y[arcs.size()]具有列表大小的維度,而不是它的元素。我的問題是是否有任何方法可以將ylike定義為一個Arc不arcs.size()這樣的數(shù)組:int[] y = new int [Arc(i,j)];
查看完整描述

1 回答

?
神不在的星期二

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

如果你輸入y一個二維數(shù)組


int[][] y = new int[N][N];

然后您可以使用Arc的組件i和j作為索引y來檢索值:


int value = y[i][j];

您也可以將其輸入為Map(如果我按字面意思閱讀您的第一句話):


Map<Arc, Integer> y = new HashMap<>();

這允許您y通過使用特定Arc實例請求它們來獲取值:


Arc myArc = ...;

int value = y.get(myArc);

在這種情況下,您應(yīng)該在類中定義正確的hashCode和equals方法Arc:


@Override

public boolean equals(Object x) {

  if (!(x instanceof Arc)) return false;

  Arc that = (Arc) x;

  return this.i == that.i && this.j == that.j;

}


@Override

public int hashCode() {

  return this.i + 31*this.j;

}

否則,HashMap如果您嘗試通過將Arc具有相同組件的新實例傳遞給它來獲取它們,則將找不到任何值。


查看完整回答
反對 回復(fù) 2021-08-25
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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