java学习笔记:集合之一些练习题

java学习笔记:集合之一些练习题

 

 

一些练习题
----
练习题1:统计字符串中每个字符出现的次数
String str = "...";
//HashMap<出现的字符, 字符出现的次数>
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
//遍历字符串
for(int i = 0; i < str.length; i++){
  //取出一个字符
  char ch = str.charAt(i);
  if(map.containsKey(ch)){//如果包含ch,说明map统计过这个字符
    Integer count = map.get(ch);//把原来统计的次数拿出来
    map.put(ch, count+1);//把次数加1,再放回去
  }
  else{//如果map没有统计过ch的话
    map.put(ch, 1);
  }
}
Set<Map.Entry<Character, Integer>> entrySet = map.entrySet();
for(Map.Entry<Character, Integer> entry : entrySet){
  System.out.println(entry.getKey() + "(" + entry.getValue() + ")");
}


练习题2:删除集合中长度小于3的数据
练习题3:大小写转换
练习题4:集合反转排序
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.reverse(list);
Collections.sort(list);
Collections.sort(list, Collections.reverseOrder());

练习题5:录入10个随机不重复的随机数
Random rd = new Random();
HashSet<Integer> set = new HashSet<Integer>();
while(set.size() < 10){
  int num = rd.nextInt(10);
  set.add(num);
}

练习题6:循环录入多个字符串,以end结束,排序。
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();
while(true){
  String s = sc.nextLine();
  if(s.equals("end")){
    break;
  }
  list.add(s);
}
Collections.sort(list);
System.out.println(list);

练习题7:给ArrayList去重
ArrayList<String> list = new ArrayList<String>();
list.add("小红");
list.add("小丽");
list.add("小红");
HashSet<String> set = new HashSet<String>(list);//用HashSet去重
for(String s : set){
  System.out.println(s);
}
ArrayList<String> list2 = new ArrayList<String>(set);
for(String s : list2){
  System.out.println(s);
}

练习题8:质数
int count = 0;
for(int i = 2; i < 100; i++){
  boolean flag = true;
  for(int j = 2; j < i; j++){
    if(i % j == 0){
      flag = false;
      break;
    }
  }
  if(flag){
    System.out.println(i + " ");
    count++;
    if(count % 5 == 0){
      System.out.println();
    }
  }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值