package com.shsxt.homework;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
/*
* 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中没有重复元素)
2、:自己写出contains 方法
3、分析以下需求,并用代码实现: (1)编写一个泛形方法,实现指定位置数组元素的交换 (2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素
4.将"goOd gooD stUdy dAy dAy up"
每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现)
*/
public class Homework {
//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");
/*HashSet<String> set = new HashSet<>();
set.addAll(list);
System.out.println(set);
list.clear();
list.addAll(set);
System.out.println(list);
//2
boolean flag=contains(set, "");
System.out.println(flag);
//3.1
System.out.println(list);
change(list, 1, 4);
System.out.println(list);
*/
//3.2
String[] str=new String[10];
list.toArray(str);
printArr(str);
System.out.println("--------------");
reverse(str);
//4
// String str = "goOd gooD stUdy dAy dAy up";
// turnTo(str);
}
//2 编写自己的contains方法
public static boolean contains(Collection<String> c,String str){
for(String s: c){
if (str != null || str != "") {
if (str.equals(s)) {
return true;
}
}
}
return false;
}
//3分析以下需求,并用代码实现:
//(1)编写一个泛形方法,实现指定位置数组元素的交换
public static <E> List<E> change(List<E> list,int idx1,int idx2){
E e=list.get(idx2);
list.set(idx2, list.get(idx1));
list.set(idx1, e);
return list;
}
//(2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素
/*public static <E> E[] reverse(E[] arr) {
for (int j = 0 ; j <arr.length ; j++) {
for (int i = arr.length-1 ; i > 0 ; i--) {
E temp=null;
temp=(E)arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
return arr;
}*/
public static <T> void reverse(T[] arr) {
//将数组进行交换
for (int i = 0; i < arr.length / 2 ; i++) {
T temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
System.out.println("反转后的数据:");
printArr(arr);
}
//4 将"goOd gooD stUdy dAy dAy up"
//每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现)
public static void turnTo(String str){
String[] split = str.split(" +");
// 创建StringBuilder对象
StringBuilder sb = new StringBuilder();
for(int i = 0; i < split.length; i++) {
String new_str = split[i];
// 使用substring截取首字符,将其转换成大写
String head = new_str.substring(0, 1).toUpperCase();
// 截取除首字母以外的字符串,将其转换成小写
String end = new_str.substring(1).toLowerCase();
// 将头和尾拼接上
sb.append(head).append(end).append(" ");
}
System.out.println(sb);
}
//遍历数组的方法
public static <E> void printArr(E str[]){
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]+" ");
}
}
}