四道java小题

Posted battlecry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四道java小题相关的知识,希望对你有一定的参考价值。

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

    1.定义List集合,存入多个字符串

    2.删除集合中字符串"def"

    3.然后利用迭代器遍历集合元素并输出

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 
 4 public class Topic1
 5 {
 6     public static void main(String[] args) {
 7         ArrayList<String> arrayList = new ArrayList<>();
 8         arrayList.add("dsfsd");
 9         arrayList.add("def");
10         arrayList.add("ghdh");
11         arrayList.add("fdgd");
12         arrayList.add("qewr");
13         for (int i = 0; i < arrayList.size(); i++) {
14             if (arrayList.get(i)=="def"){
15                 arrayList.remove("def");
16             }
17         }
18         System.out.println(arrayList);
19     }
20 }

 

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

1.生成101100之间的随机整数(不能重复),存入一个List集合

2.然后利用迭代器和增强for循环分别遍历集合元素并输出

3.如:15 18 20 40 46 60 65 70 75 91

 1 import java.util.ArrayList;
 2 import java.util.HashSet;
 3 import java.util.Random;
 4 
 5 public class Topic2 {
 6     public static void main(String[] args) {
 7         ArrayList<Integer> arrayList = new ArrayList<>();
 8         HashSet<Integer> set = new HashSet<>();
 9         Random ra = new Random();
10         while(set.size()<=10){
11             int num = ra.nextInt(100)+1;
12             set.add(num);
13         }
14         arrayList.addAll(set);
15         System.out.println(arrayList);
16     }
17 }

 

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

1.定义List集合,存入多个字符串

2.删除集合元素字符串中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)

3.然后利用迭代器遍历集合元素并输出

 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 
 4 public class Topic3 {
 5     public static void main(String[] args) {
 6         //1.定义List集合,存入多个字符串
 7         ArrayList<String> arrayList = new ArrayList<>();
 8         arrayList.add("dfsd5");
 9         arrayList.add("sdgd");
10         arrayList.add("fgdsg");
11         arrayList.add("f1ds");
12         for (int i = arrayList.size()-1; i>=0; i--) {
13             if(methodDelete(arrayList.get(i))==true){
14                 arrayList.remove(i);
15             }
16         }
17         Iterator<String> it = arrayList.iterator();
18         while (it.hasNext()){
19             System.out.print(it.next()+" ");
20         }
21 
22         //3.然后利用迭代器遍历集合元素并输出
23     }
24 
25     //2.删除集合元素字符串中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就
26     public static boolean methodDelete(String string){
27         char[] array = string.toCharArray();
28         for (int i = 0; i < array.length; i++) {
29             if (array[i]>=48  && array[i]<=57){
30                 return true;
31             }
32         }
33         return false;
34     }
35 }

 

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

    1.统计每个单词出现的次数

    2.有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔)

    3.打印格式:

        to=3

        think=1

        you=2

 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Set;
 4 
 5 public class Topic4 {
 6     public static void main(String[] args) {
 7         String str = "If you want to change your fate I think you must come to the dark horse to learn java";
 8         String strArr[] = str.split(" ");
 9        /* for (int i = 0; i < strArr.length; i++) {
10             System.out.print(strArr[i]+" ");
11         }*/
12         HashMap<String,Integer> map = new HashMap<>();
13         for (String s : strArr) {
14           /*  if (map.containsKey(s)){
15                 //存在
16                 Integer value = map.get(s);
17                 value++;
18                 //不停的覆盖value值
19                 map.put(s,value);
20             }
21             else {
22                 //不存在
23                 map.put(s,1);
24             }*/
25           //  map.put(c,map.containsKey(c)?map.get(c)+1:1);
26             map.put(s,map.containsKey(s)?map.get(s)+1:1);
27         }
28         Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
29         for (Map.Entry<String, Integer> entry : entrySet) {
30             System.out.println(entry.getKey()+"="+entry.getValue());
31         }
32     }
33 }

 

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

    2.定义一个noRepeat()方法,要求对传递过来集合中进行元素去重

        public static void noRepeat(List<String> al){

            contains

        }

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 
 4 public class Topic5 {
 5     public static void main(String[] args) {
 6         ArrayList<String> arrayList = new ArrayList<>();
 7         arrayList.add("sdgsdg1");
 8         arrayList.add("sdgsdg");
 9         arrayList.add("sdgsdg");
10         arrayList.add("sdgsdg1");
11         noRepeat(arrayList);
12     }
13     public static void noRepeat(List<String> al){
14         for (int i = 0; i < al.size(); i++) {
15             //第一个元素拿出来 如果 后续有元素与之相等,就删除.
16             String first = al.get(i);
17             for (int j =i+1;j<al.size();j++)
18             {
19                 if (first.equals(al.get(j))){
20                     //如果 后面与这个元素相同,就删除后面的元素
21                     al.remove(j);
22                    // j--;
23                 }
24             }
25         }
26         System.out.println(al);
27     }
28 
29 }

 

以上是关于四道java小题的主要内容,如果未能解决你的问题,请参考以下文章

Java 经典小题篇

java继承小题二

Java小题精炼训练营(篇三)

四道BATJ必考Java面试题,你知道多少?

Java小题精炼训练营(篇一)

java继承3个小题