1.分析以下需求,并用代码实现:
(1)定义一个方法swap()传入集合和两个角标使集合中元素交换位置()
(2)思路
a.定义一个临时变量, 记住其中一个元素
b.用第一个位置存放第二个位置上的元素
c.用第二个位置存放临时变量记住的元素
public static<T> List<T> swap(List<T> list,int indax,int end){
//获取list的知道索引的元素
T t = list.get(indax);
//把indax的元素和end索引的元素进行交换
list.set(indax, list.get(end));
//把end的索引的元素和t元素交换
list.set(end, t);
//返回集合
return list;
}
2.分析以下需求,并用代码实现:
(1)有如下代码:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("b");
list.add("f");
list.add("e");
list.add("c");
list.add("a");
list.add("d");
sort(list);
System.out.println(list); // a, b, c, d, e, f
}
(2)要求对集合中添加的元素排序
public static void sort(List<String> list) {
//遍历集合
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0 ; j < list.size()- 1 - i; j++) {
//把集合中的元素抽出来
String a = list.get(j);
String b = list.get(j+1 );
//用charAt方法把字符串转换为char类型,判断字符的大小,用冒泡排序
if (a.charAt(0) > b.charAt(0)) {
String temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
}
3.分析以下需求,并用代码实现:
(1)有如下代码:
List<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("d");
list.add("d");
list.add("d");
list.add("d");
list.add("d");
System.out.println(frequency(list, "a")); // 3
System.out.println(frequency(list, "b")); // 2
System.out.println(frequency(list, "c")); // 1
System.out.println(frequency(list, "d")); // 5
System.out.println(frequency(list, "xxx")); // 0
(2)定义方法统计集合中指定元素出现的次数,如"a" 3,"b" 2,"c" 1
public static int frequency(List<String> list,String str){
//定义一个计时器
int a = 0;
//增强for循环
for (String string : list) {
//判断是否和输入的那个元素一样,如果一样就a++
if(str.equals(string)){
a++;
}
}
System.out.print(str+ " "+"出现的次数是");
//返回a
return a;
}
4.分析以下需求,并用代码实现:
(1)编写一个泛形方法,实现指定位置数组元素的交换
public static <T> void swap(List<T> list, int indax, int end) {
//获取list的知道索引的元素
T t = list.get(indax);
//把indax的元素和end索引的元素进行交换
list.set(indax, list.get(end));
//把end的索引的元素和t元素交换
list.set(end, t);
System.out.println(list);
}
(2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素
public static <T> void swap(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;
}
}
这是我自己写的,如果有要修改的请大家告诉我!!!!!!!! |
|