BİLGİ SAYAMIYORUM beta

Java da bir liste/array nasıl oluşturulur ve listenin belirli bir öğeyi barındırıp barındırmadığı nasıl kontrol edilir?

0

Başka yazılarda liste kullansam da bir de farklı yollarla nasıl liste oluşturulur onu göstereyim istedim:

     int[] depozitoListesi = new int[3];
     int[] depozitoListesi = {5,7,12};
     int[] depozitoListesi = new int[]{4,8,9};

Integer listesi oluşturmak için bu 3 satırdan birini kullanabilirsiniz. Ama gördüğünüz gibi ilkinde içeri belirtilmiyor sadece kaç öğe barındırdığı veriliyor. Ayrıca ikinci örneğin sonuç döndürülme aşamasında kullanılamadığı söylenmiş, ben eğer içeriğini önceden belirtmem gerekirse üçüncüyü yoksa birinci olanı kullanıyorum.

     String[] marketListesi = new String[3];
     String[] marketListesi = {"armut","peynir","kekik"};
     String[] marketListesi = new String[]{"armut","peynir","kekik"};

Yazı/String listesi oluşturmak isterseniz ise bu üçünden birini kullanabilirsiniz ama sayı listelerindeki olay burada da geçerli; ikinci ile sonuç döndürmeyin. Ben çoğunlukla önce listeyi tanımlayıp sonra içeriğini dolduruyorum, şu şekilde:

     String[] marketListesi;
     marketListesi = new String[]{"armut","peynir","kekik"};

Sıkça karşılaşmalık ve göreceli olarak çok zor olmayan bir eylem bir listede aradığınız eleman var mı yok mu diye kontrol etmek. Ama gereksiz detaylarla kendi yolunuzu oluşturmaya çalıştığınızda uğraştırıcı bir hale gelebilir. O sebeple basitçe gireyim, yukarıda oluşturduğum listeleri kullanacağım:

     Arrays.asList(marketListesi).contains("elma");

Bu kod, önceden oluşturduğumuz listede "elma" öğesini arıyor. Bu teknik Java nın primitive tipleri yani char, int, double, float, long için işe yaramıyor. Onlarda ise şöyle bir şey kullanabilirsiniz:

     boolean contains = IntStream.of(depozitoListesi).anyMatch(x -> x == 8);

Bu kod listenin elemanlarından birinin 8 olup olmadığını kontrol ediyor, ancak görüldüğü üzere "IntStream" diye bir ibare var, onu listeye göre DoubleStream, LongStream gibi şekillde değiştirmeniz gerekiyor. 

Bu sefer bir değişiklik yapıp parçaladığım kod blokların tam çalışır halini, alta koyuyorum, belki daha yararlı olur:

     import java.lang.Math;
     import java.util.Arrays;
     import java.util.stream.IntStream;

     public class Main{
          public static void main(String[]args){
               Checkers c = new Checkers();
               System.out.println(c.stringCheck());
               System.out.println(c.intCheck());
          }
     }

     class Checkers{
          public boolean stringCheck(){
               String[] marketListesi;
               marketListesi = new String[]{"armut","peynir","kekik"};
               return Arrays.asList(marketListesi).contains("armut");
          }

          public boolean intCheck(){
               int[] depozitoListesi = new int[]{4,8,9};
               boolean contains = IntStream.of(depozitoListesi).anyMatch(x -> x == 8);
               return contains;
          }
     }

Her kısımın ne yaptığını açıklamıyım zira yukarıda anlattım ama kabaca; import kısımları kullandığımız ya da kullanabileceğimiz kütüphaneleri çağırdığımız kısım. Sonra yazdığımız dil Java olduğu için bir Main metoduna ihtiyacımız var onu da Main adlı bir classa koymayı tercih ettim. Onun dışında Checkers adında kontrol işlemlerini yapacağım bir class oluşturdum, buraya da sayı ve yazılar için ayrı ayrı kontrol metodları yazdım. Sonra onları "main" metodu içerisinde çağırarak sonuçlarını yazdırdım.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER