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();
}
}