Java学习 集合 部分作业00

1、分析以下需求,并用代码实现:
    (1)有如下代码:
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("a");
            list.add("f");
            list.add("b");
            list.add("c");
            list.add("a");
            list.add("d");
             
        }
        (2)利用HashSet对list集合去重(最终结果:list中没有重复元素)

package work;

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

public class Work01 {
	public static void main(String[] args) {
		//原题要求的基础信息复制
        List<String> list = new ArrayList<String>();
		list.add("a");
		list.add("f");
		list.add("b");
		list.add("c");
		list.add("a");
		list.add("d");
        //打印原始数据
		System.out.println(list);
		
        //建哈希表,导入数据,清楚List原始数据重新填入
        //利用哈希表不存储重复元素的特性
		HashSet<String> 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<String> hSet = new HashSet<>();
		hSet.add(aString);
		
		boolean b = myContains(hSet, bString);
		System.out.println(b);
	}
	
	public static boolean myContains(Collection<String> 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<String> list = new ArrayList<String>();
		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 <E> List<E> exChange(List<E> 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> 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();
	}

}

猜你喜欢

转载自blog.csdn.net/endless_fighting/article/details/81449127