-
一个ArrayList对象aList中有若干个字符串元素,现在遍历该ArrayList对象,删除其中所有值为abc的字符串元素。
package demo;
import java.util.ArrayList;
//一个ArrayList对象aList中有若干个字符串元素,现在遍历该ArrayList对象,删除其中所有值为abc的字符串元素。
/**
* 思路:
* 1.创建集合对象;
* 2.创建元素对象;
* 3.添加元素
* 4.遍历元素,删除指定元素
* 注意:正着遍历时,当集合中有连续的abc存在时,可能会出现删除不净的情况,需要避免
* 倒着遍历;正着遍历时没删除一个abc时,角标自动减一位,
*
*/
public class Demo7 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("abc");
list.add("bc");
list.add("abc");
list.add("abc");
list.add("abc");
list.add("bc");
System.out.println(list);
/*//倒着遍历
for (int i = list.size()-1; i >0; i--) {
if(list.get(i).equals("abc")){
list.remove(list.get(i));
}
}*/
//正着遍历
for(int j=0;j<list.size();j++){
if(list.get(j).equals("abc")){
list.remove(j);
//如果集合中有连续的abc存在,删除后,不j--,就会出现删除不净的情况
//j--;
}
}
System.out.println(list);
}
}<strong>
</strong>
-
取出一个字符串中字母出现的次数,如:“abcdekka27qoq”输出格式为a(2)b(1)k(2).....
package demo;
import java.util.Set;
import java.util.TreeMap;
//取出一个字符串中字母出现的次数,如:“abcdekka27qoq”输出格式为a(2)b(1)k(2).....
/**
* 思路:
* 1.将字符串转换为字符数组
* 2.定义一个map集合,字符做键,数字做值,定义一个StringBuffer
* 3.遍历该数组,获取map集合的值,判断值是否为空,
* 是:直接添加
* 否:值++,在添加
* 4.获取所有键的集合,通过键来找值,
* 5.将键和值按指定格式添加到StringBuffer中
* 总结:这题还是比较综合的,数组的遍历,考到了string和StringBuffer,还有双列集合的键和值的获取,键的唯一性。
*
*/
public class Demo9 {
public static void main(String[] args) {
String s="abcdekka27qoq";
//字符串转换为字符数组
char[] arr=s.toCharArray();
StringBuffer bf = new StringBuffer();
TreeMap<Character, Integer> map = new TreeMap<Character, Integer>();
//遍历数组,来获取值,添加到集合
for (int i = 0; i < arr.length; i++) {
Integer in=map.get(arr[i]);
if(in==null){
map.put(arr[i], 1);
}else{
in++;
map.put(arr[i], in);
}
}
//获取键的集合
Set<Character> set=map.keySet();
//遍历键集合
for(Character d:set){
//获取键对应的值
Integer dd=map.get(d);
//按照指定的格式添加到StringBuffer
bf.append(d+"("+dd+")");
}
System.out.println(bf);
}
}<strong>
</strong>
-
编写程序,随机生成5个1-10之间的随机数,存入一个List集合中,编写方法对List集合进行排序。
package demo;import java.util.ArrayList;import java.util.Random;//编写程序,随机生成5个1-10之间的随机数,存入一个List集合中,编写方法对List集合进行排序,/** * 思路: * 1.创建list集合,产生随机数的对象 * 2.向list集合添加5个随机数 * 3.用冒泡对集合排序(因为是对集合直接排序,元素替换的时候得用list集合的方法) * 考点:产生随机数的类,list集合元素的添加,还有对集合直接排序。 * */public class Demo11 { public static void main(String[] args) { //创建list集合 ArrayList<Integer> list = new ArrayList<Integer>(); //创建产生随机数对象 Random d = new Random(); //添加5个随机数 while(list.size()<5){ Integer s=d.nextInt(10)+1; list.add(s); } //对集合直接进行冒泡排序 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 s=list.get(j); //int ss=list.get(j+1); //list.get(j)=list.get(j+1); //元素替换,使用list集合set方法 list.set(j, list.get(j+1)); list.set(j+1, s); } } } System.out.println(list); }}