Javaラーニング集合部分ジョブ00

3718 ワード

1、以下の需要を分析し、コードで実装する:(1)public static void main(String[]args){List list=new ArrayList<>();list.add("a");list.add("f");list.add("b");list.add("c");list.add("a");             list.add("d"); }(2)HashSetを利用してリスト集合をデクリメントする(最終結果:リストに重複要素がない)
package work;

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

public class Work01 {
	public static void main(String[] args) {
		//           
        List list = new ArrayList();
		list.add("a");
		list.add("f");
		list.add("b");
		list.add("c");
		list.add("a");
		list.add("d");
        //      
		System.out.println(list);
		
        //    ,    ,  List        
        //               
		HashSet hs = new HashSet<>();
		hs.addAll(list);
		System.out.println(hs);
		list.clear();
		list.addAll(hs);
		System.out.println(list);
		
	}

}

2、:containsメソッドを自分で書く
package work;

import java.util.Collection;
import java.util.HashSet;

public class Work03 {
	public static void main(String[] args) {
		String aString = "asdb";
		String bString = "asdbe";
		
		HashSet hSet = new HashSet<>();
		hSet.add(aString);
		
		boolean b = myContains(hSet, bString);
		System.out.println(b);
	}
	
	public static boolean myContains(Collection coll ,String str ){
		for(String s:coll){
			if(str != null || str != ""){
				if(s.equals(str)){
					return true;
				}
			}
		}
		return false;
	}

}

3、以下の需要を分析し、コードで実現する:(1)汎形方法を作成し、指定位置配列要素の交換を実現する(2)汎形方法を作成し、任意の配列を受信し、配列中のすべての要素を反転する
package work;

import java.util.ArrayList;
import java.util.List;

public class Work02 {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("c");
		list.add("d");
		list.add("e");
		System.out.println(list);
		
        exChange(list, 2, 4);
		System.out.println(list);
		
		String[] str = new String[6];
		list.toArray(str);
		resort(str);
		for (int i = 0; i < str.length; i++) {
			System.out.print(str[i]+" ");
			
		}
	}
	
	/*
	 * (1)        ,              
	 */
	public static  List exChange(List list ,int arg1,int arg2){
		E e = list.get(arg2);
		list.set(arg2, list.get(arg1));
		list.set(arg1, e);
		return list;
	}
	
	/*
	 * (2)        ,        ,           
     *               
	 */
	public static  E[] resort(E[] arr ){
		for (int i = 0; i < arr.length/2; i++) {
			E med = null;
			med = (E) arr[i];
			arr[i] = arr[arr.length-i-1];
			arr[arr.length-i-1] = med;
		}
		return arr;
	}

}

4.「goOd good stUdy dAy dAy up」各単語の頭文字を大文字に変換する残りは小文字にする(good good study day day upを直接出力しないコードで実現する)
package work;

public class Work04 {
	public static void main(String[] args) {
		String str = "goOd gooD stUdy dAy dAy up";
		//       
		System.out.println(str);
		
		str = strFormat(str);
		//        
		System.out.println(str);
	}
	
	public static String strFormat(String str){
		//         String[] split(String regex)
		String[] strs = str.split(" ");
		//    StringBulider           
		StringBuilder builder = new StringBuilder();
		
        for (int i = 0; i < strs.length; i++) {
			String ss = strs[i];
			String first = ss.substring(0, 1).toUpperCase();
			String end = ss.substring(1).toLowerCase();
			
			builder.append(first).append(end).append(" ");
		}
		return builder.toString();
	}

}