JAVA 基础 day-19 练习


利用HashSet对list集合去重(最终结果:list中没有重复元素)

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

public class Demo1 {
	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");
		
		HashSet<String> set = new HashSet<>(); 
		
		
		set.addAll(list);
		
		for (String s : set) {
			System.out.println(s);
		}
		
	}
}


自己写出contains 方法

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");
		
		HashSet<String> set = new HashSet<>(); 
		
		
		set.addAll(list);
		
		boolean b = contains(set, "b");
		System.out.println(b);
		
	}
	
	
	public static boolean contains(HashSet<String> set, String str) {
		
		for (String s : set) {
			if (s.equals(str))
				return true;
		}
		return false;
		
	}


分析以下需求,并用代码实现:

(1)编写一个泛形方法,实现指定位置数组元素的交换

(2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素

package exrcise;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import javax.swing.plaf.synth.SynthSeparatorUI;

public class Test1 {
	
	
	/*
	 * 分析以下需求,并用代码实现: 
	 * (1)编写一个泛形方法,实现指定位置数组元素的交换
	 * (2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素	
	 * */
	public static void main(String[] args) {
		Integer[] arr = {1,2,3,4,5};
		List<Integer> list = new ArrayList<>();
		
		list.addAll(Arrays.asList(arr));
		
		
		
		arrSwap(list, 1, 3);
		for (Integer integer : list) {
			System.out.println(integer);
		}
		System.out.println("-----------------------");
		arrReverse(list);
		for (Integer integer : list) {
			System.out.println(integer);
		}
	}

	private static void arrReverse(List<?> list) {
		for (int i = 0; i < list.size() / 2; i++) {
			Collections.swap(list, 0+i, list.size()-i-1);
		}
	}

	private static void arrSwap(List<?> list, int i, int j) {
		if((i >= 0 && i <= list.size()) && (j >= 0 && j <= list.size())) {
//			Collections.swap(list, i, j);
//			这个是swap的源码值得学习
			final List l = list;
			l.set(i, l.set(j, l.get(i)));
			
		}else {
			System.out.println("位置错误");
		}
	}

}


将"goOd gooD stUdy dAy dAy up" 每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现)

(只能想到这笨方法了,回头查查看看更优的方法)


package exrcise;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Test2 {

	public static void main(String[] args) {
		/*
		 * 将"goOd gooD stUdy dAy dAy up"
		 * 每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现)
		 * */
		String s1 = "goOd gooD stUdy dAy dAy up";
		StringBuffer s2 = new StringBuffer();
		
		for(int i=0; i< s1.length(); i++) {
			if(i==0 && (char)s1.charAt(i) >= 'a' && (char)s1.charAt(i) <= 'z') {
				s2.append((char)(s1.charAt(i) - 32));
			}else if(s1.charAt(i-1)==' ' && (char)s1.charAt(i) >= 'a' && (char)s1.charAt(i) <= 'z') {
				s2.append((char)(s1.charAt(i) - 32));
			}else if((char)s1.charAt(i) >= 'A' && (char)s1.charAt(i) <= 'Z') {
				s2.append((char)(s1.charAt(i) + 32));
			}else{
				s2.append(s1.charAt(i));
			}
		}

		System.out.println(s1);
		System.out.println(s2);
	}

}

猜你喜欢

转载自blog.csdn.net/alexzt/article/details/79788204
今日推荐