忍者ブログ

プログラミングの練習

プログラミングの問題やプログラミング関連知識、ソフトウェアのテストについてのブログです

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Java 任意の数の引数の処理のサンプル


こんな感じです。
class Person{
private String name_ ;

  Person( String name){
   name_ = name ;
  }

  public String getName_() {
   return name_;
  }

  public void setName_(String name_) {
   this.name_ = name_;
  }

 }

public class Main {

 public static void main(String[] args) {
  Person p1 = new Person("No1");
  Person p2 = new Person("No2");
  // 任意の数の引数を出力する関数の呼び出し
  print_pserson(p1, p2);
 }

 /**
 * 任意の数の引数を出力する関数
 * 3つのドットとスペースとパラメータを指定
 */
 public static void print_pserson(Person... persons){
  // 引数の数分ループ
  for (int i= 0 ; i < persons.length ; i++){
  System.out.println(persons[i].getName_());
  }
 }

}
PR

Java Strem で、データを選択


Strem で、条件に合致するクラス(person )の属性を表示してみます


public static void main(String[] args) {

        List<Person> person = Person.listPerson() ;

        person.stream().filter((p)->(p.getAge())>20)
                .forEach((p)->System.out.println(p.getName()));

    }

年齢が、20より大きい人が抽出されます




Java util.logging


こんな感じです

1.サンプル プログラム

import java.util.logging.*;

public class Main {
 public static void main(String[] args) {

  Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
  // 出力テスト
  logger.finest("finestのメッセージ") ;
  logger.finer("finerのメッセージ") ;
  logger.fine("fineのメッセージ") ;
  logger.config("configのメッセージ");
  logger.info("infoのメッセージ");
  logger.warning("waringのメッセージ");
  logger.severe("severeのメッセージ");

}

2.実行結果

次の内容を含んだメッセージが出力されるはずです

 情報: infoのメッセージ
 警告: waringのメッセージ
 重大: severeのメッセージ








Java Strem で、sum


自作のPersonクラスを利用して、条件に合致するレコード数を求めてみます。

count()を利用するようです
public static void main(String[] args) {

        List<Person> person = Person.listPerson() ;

        System.out.println(person.stream().filter((p)->(p.getAge())>20).count());

    }

年齢が、20より大きいレコード数が抽出されます