LoginSignup
1
0

More than 3 years have passed since last update.

Java 二つのListを順番無視、null無視、重複無視で等値判定を行う

Posted at

目次 ⇒ Javaアルゴリズムライブラリ-Artery-サンプル

Q01_05.java
package jp.avaj.lib.algo;

import java.util.List;

import jp.avaj.lib.def.ArDuplicate;
import jp.avaj.lib.def.ArNull;
import jp.avaj.lib.def.ArSeq;
import jp.avaj.lib.test.L;

/**
 *  二つのListを順番無視、null無視、重複無視で等値判定を行う
 *
 *  ・ArListの以下のメソッドを使用する
 *    equals(List<T> list0,List<T> list1,ArSeq arSeq,ArNull arNull,ArDuplicate arDup)
 *
 *  ・順番無視はArSeq.IGNOREを指定する.無視しない場合はArSeq.NOT_IGNOREを指定する.
 *  ・null無視はArNull.IGNOREを指定する.無視しない場合はArNull.NOT_IGNOREを指定する.
 *  ・重複無視はArDuplicate.IGNOREを指定する.無視しない場合はArDuplicate.NOT_IGNOREを指定する.
 *
 *  ・本サンプルでは別々に無視するを指定したが、混在してもOK
 */
public class Q01_05 {
  public static void main(String[] args) {
    List<String> list0;
    List<String> list1;

    L.p("順番を無視して判定する");
    {
       list0 = ArList.construct("aaaa,bbbb,cccc");
       list1 = ArList.construct("bbbb,cccc,aaaa");
       // まずは無視しないで判定する
       L.p(ArList.equals(list0,list1,ArSeq.NOT_IGNORE,ArNull.NOT_IGNORE,ArDuplicate.NOT_IGNORE)+"");
       // 無視して判定する.
       L.p(ArList.equals(list0,list1,ArSeq.IGNORE,ArNull.NOT_IGNORE,ArDuplicate.NOT_IGNORE)+"");
    }

    L.p("nullを無視して判定する");
    {
      list0 = ArList.construct(new String[]{"aaaa",null,"bbbb","cccc"});
      list1 = ArList.construct(new String[]{"aaaa","bbbb","cccc",null});
      // まずは無視しないで判定する
      L.p(ArList.equals(list0,list1,ArSeq.NOT_IGNORE,ArNull.NOT_IGNORE,ArDuplicate.NOT_IGNORE)+"");
      // 無視して判定する.
      L.p(ArList.equals(list0,list1,ArSeq.NOT_IGNORE,ArNull.IGNORE,ArDuplicate.NOT_IGNORE)+"");
    }

    L.p("重複を無視して判定する");
    {
      list0 = ArList.construct("aaaa,bbbb,cccc");
      list1 = ArList.construct("aaaa,bbbb,cccc,bbbb");
      // まずは無視しないで判定する
      L.p(ArList.equals(list0,list1,ArSeq.NOT_IGNORE,ArNull.NOT_IGNORE,ArDuplicate.NOT_IGNORE)+"");
      // 無視して判定する.
      L.p(ArList.equals(list0,list1,ArSeq.NOT_IGNORE,ArNull.NOT_IGNORE,ArDuplicate.IGNORE)+"");

    }
  }
}

Q01_05.txt
順番を無視して判定する
false
true
nullを無視して判定する
false
true
重複を無視して判定する
false
true

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0