SORU
19 Mayıs 2009, Salı


İnt dönüştürmek için [nasıl] Tamsayı için[] Java?

Java için yeni ve çok kafam karıştı.

Uzunluğunda büyük bir veri kümesi 4 int[] ve sayısını saymak istiyorum ben 4 tamsayıların her biri belirli bir kombinasyon oluşur. Bu belge word frekans sayımı çok benzer.

Map<int[], double> * Her bir int oluşturmak istiyorum[] listesinde yinelenen bitti, ama Göster ilkel türler almaz. olarak çalışan sayısı için

Map<Integer[], Double> verdim

verilerimi döngü gibi bir şey bu olmalı ArrayList<int[]> olarak saklanır

ArrayList<int[]> data = ... // load a dataset`

Map<Integer[], Double> frequencies = new HashMap<Integer[], Double>();

for(int[] q : data) {

    // **DO SOMETHING TO convert q from int[] to Integer[] so I can put it in the map

    if(frequencies.containsKey(q)) {
    frequencies.put(q, tfs.get(q)   p);
    } else {
        frequencies.put(q, p);
    }
}

Açıklama istiyorum ne emin Integer[] int[] bir dönüştürme işi yapmak için gelmedim. Ya da belki bunu yapmak için doğru yolu hakkında temelde kafam karıştı.

CEVAP
19 Mayıs 2009, Salı


Eğer Integer[], Bir int[] dönüştürmek istiyorsanız bu yazılım ve programları bunu yapmak için otomatik bir yolu yoktur. Ancak, böyle bir şey yapabilirsiniz:

int[] oldArray;

... // Here you would assign and fill oldArray

Integer[] newArray = new Integer[oldArray.length];
int i = 0;
for (int value : oldArray) {
    newArray[i  ] = Integer.valueOf(value);
}

Eğer Apache lang kütüphaneye erişimi varsa, o zaman bu gibi ArrayUtils.toObject(int[]) yöntemi kullanabilirsiniz:

Integer[] newArray = ArrayUtils.toObject(oldArray);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • mist64

    mist64

    30 Mayıs 2006
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008