0
0

More than 1 year has passed since last update.

java 配列重複値を唯一にする

Posted at
package ATest;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test4 {
	
	
	static ArrayList oAlArray = new ArrayList();
	
	static ArrayList oAlArray2 = new ArrayList();
	
//	
//	oAlArray.add("1");
	
	private static <T> boolean checkForDuplicates(T... array)
	{
	    //空のセットを作成します
	    Set<T> set = new HashSet<T>();
	 
	    //すべてのアレイ要素に対して実行
	    for (T e: array)
	    {
	        //重複が見つかった場合はtrueを返します
	        if (set.contains(e)) {
//	            return true;
	        	
	        	oAlArray.add(e);
	        	
	        	System.out.println("e=   "+e);
	        	
	        }
	 
	        //現在の要素をセットに挿入します
	        if (e != null) {
	            set.add(e);
	            
	        }
	    }
	 
	    //重複が見つかりません
	    return false;
	}
	

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		
		//一次作業配列生成
		String oStUsrNo[] = new String[9];
		//利用者識別番号リスト生成
		List oLiUsrNo = new ArrayList();

		//チェック対象利用者識別番号を取得し、一次作業配列に格納する
		oStUsrNo[0] = "333";
		oStUsrNo[1] = "111";;
		oStUsrNo[2] = "333";;
		oStUsrNo[3] = "111";;
		oStUsrNo[4] = "888";;
		oStUsrNo[5] = "666";;
		oStUsrNo[6] = "888";;
		oStUsrNo[7] = "333";;
		oStUsrNo[8] = "111";;
		
		
		System.out.println(checkForDuplicates(oStUsrNo));
		
		//重複値を唯一にする
		oAlArray2 = new ArrayList<String>(new HashSet<>(oAlArray));
		
		
		System.out.println(oAlArray2);
		
		System.out.println("\n重複以下です");
		
		for (int i=0;i<oAlArray2.size();i++) {
			
			System.out.println(oAlArray2.get(i));
		}
		
		

	}

}
0
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
0
0