1.分析以下需求,并用代码实现:
(1)有如下代码:
List 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 class Lab01 {
private static int frequency(List<String> list, String a) {
int num=0;
for (String s : list) {
if (s.equals(a)){
num++;
}
}
return num;
}
public static void main(String[] args) {
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.分析以下需求,并用代码实现:
(1)生成10个1至100之间的随机整数(不能重复),存入一个List集合
(2)编写方法对List集合进行排序
(2)然后利用迭代器遍历集合元素并输出
(3)如:15 18 20 40 46 60 65 70 75 91
public class Lab02 {
public static List<Integer> getRandom(){
Random r = new Random();
List<Integer> list = new ArrayList();
while (list.size() < 10) {
int i = r.nextInt(99)+1;
if (list.contains(i)){
continue;
}
list.add(i);
}
return list;
}
public static void paiXu(List<Integer> list){
for(int i=0;i<list.size()-1;i++){
for (int j = 0; j <list.size()-1-i ; j++) {
if (list.get(j)>list.get(j+1)){
int tem=list.get(j);
list.set(j,list.get(j+1));
list.set(j+1,tem);
}
}
}
}
public static void bianLi(List list){
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next()+"\t");
}
}
public static void main(String[] args) {
List<Integer> listRandom = getRandom();
System.out.println("List随机数:" + listRandom);
System.out.println("list排序");
paiXu(listRandom);
System.out.println("排序后的遍历:");
bianLi(listRandom);
}
}
3.分析以下需求,并用代码实现:
(1)定义List集合,存入多个字符串,其中包含三个连续的"def"
(2)删除集合中字符串"def"
(3)然后利用迭代器遍历集合元素并输出
public class Lab03 {
public static void bianLi(List list){
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next()+"\t");
}
}
public static void main(String[] args) {
List list = new ArrayList();
String[] arr={"de","df","def","d","def","def","def"};
for (String s : arr) {
list.add(s);
}
System.out.println(list);
for (int i = 0; i <list.size(); i++) {
if (list.get(i).equals("def")){
list.remove(i);
//移掉后数组的长度会改变
i--;
}
}
bianLi(list);
}
}
4.分析以下需求,并用代码实现:
(1)定义List集合,存入多个字符串
(2)删除集合中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
(3)然后利用迭代器遍历集合元素并输出
public class Lab04 {
public static void bianLi(List list){
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next()+"\t");
}
}
public static void main(String[] args) {
List<String> list = new ArrayList();
String[] arr={"a","a0","b","b1","c","9","d","d9"};
for (String s : arr) {
list.add(s);
}
System.out.println(list);
for (int i=0;i<list.size();i++) {
if ( list.get(i).toString().matches(".*[0-9].*")){
list.remove(i);
i--;
}
}
bianLi(list);
}
}