Kendisine parametre olarak gelen aynı boyuttaki iki tamsayı dizisi icindeki ortak elemanları bulup ücüncü bir diziye atan ve bu diziyi geri döndüren metot?

soruldu: 07 Şub '13, 07:24

burock001's gravatar image

burock001
-4111
cevap kabul oranı: 0%

değiştirildi: 07 Şub '13, 08:19

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988

Çalışmayan kodu http://codepad.org veya benzeri siteye yapıştırabilir misiniz?

(08 Şub '13, 01:59) nurettin nurettin's gravatar image

Merhaba,

bu tür islemleri en temiz sekilde cözmek icin commons-collection i tavsiye ederim.

Collection Utils

permanent link

cevaplandı: 08 Şub '13, 03:19

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

Sorunu cevaplamadan önce, bu tür soruları direkt sormak yerine, öncelikle biraz çabalamanı, ve takıldığın konularda sormanı tavsiye ederim. Böylesi hem senin öğrenmen açısından, hemde bu sitenin konseptine daha uygun olur.

Sorunun cevabı, en basit haliyle şu şekilde olabilir :

public Integer[] compareArrays(Integer[] array1, Integer[] array2) {
  List<Integer> list = new ArrayList<Integer>();
  for(Integer i : array1){
    for(Integer j : array2) {
       if(i == j) {
       list.add(i);
       break;
       }
    }
  }
  return (Integer[]) list.toArray();
}
permanent link

cevaplandı: 07 Şub '13, 08:34

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

Yukarıdaki kod da, dizilerini boyutunun yada sıralarını, aynı veya farklı olmasının bir önemi yoktur. Her durumda çalışır diye düşünüyorum. Belki ClassCast Exception almamak için, return kısmı :

  Integer[] sonuc = new Integer[list.size()];
  return list.toArray(sonuc);

şeklinde değiştirilebilir.

(07 Şub '13, 09:12) mceliksoy ♦ mceliksoy's gravatar image

tşkrler yeni oldugum icin tecrübesizim.dedeginiz calısma seklini uygulayacagım sayfanın konseptine uygun degilse kaldırabilirsiniz

(07 Şub '13, 09:41) burock001 burock001's gravatar image

Konseptten ziyade, önemli olan sizin, bilgiye ulaşırken aynı zamanda da bilgi sahibi olmanız, öğrenmeniz. Tavsiyelerim bununiçindir. İyi çalişmalar.

(07 Şub '13, 09:46) mceliksoy ♦ mceliksoy's gravatar image

tşkrler saolun

(07 Şub '13, 12:08) burock001 burock001's gravatar image

import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Set;

/ * @author Melih / public class Cevap {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    Integer[] dizi1 = {1, 2, 3, 4, 5, 6};
    Integer[] dizi2 = {1, 2, 3, 4, 8, 9};
    Integer[] dizi3 = ortakElemanlariDon(dizi1, dizi2);
    for (Integer num : dizi3) {
        System.out.println(num);
    }
}

public static Integer[] ortakElemanlariDon(Integer[] dizi1, Integer[] dizi2) {
    Integer[] dizi3;
    dizi3 = new Integer[dizi1.length];
    Set kume1 = new HashSet(Arrays.asList(dizi1));
    Set kume2 = new HashSet(Arrays.asList(dizi2));
    kume1.retainAll(kume2);
    dizi3 = new Integer[kume1.size()];
    int i = 0;
    for (Iterator it1 = kume1.iterator(); it1.hasNext(); i++) {
        int num = (int) it1.next();
        dizi3[i] = num;
    }

    return dizi3;
}

}

permanent link

cevaplandı: 07 Şub '13, 08:50

melihbaba's gravatar image

melihbaba
2015812
cevap kabul oranı: 25%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 07 Şub '13, 07:24

Görüntüleme: 997 kez

Son güncelleme: 08 Şub '13, 03:19

powered by BitNami OSQA