代码改变世界

疯狂Java讲义第8章习题

2017-07-19 17:13  耳朵嫁给了真正的谎  阅读(518)  评论(0)    收藏  举报

package chapter8;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class test1 {

/**
* 创建一个set集合,并用set集合保存用户通过控制台输入的20个字符串
* 由于需要较多的插入操作所以采用HashSet
* 利用循坏控制输入
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一组字符串");
Set<String> set=new HashSet<String>();
for(int i=0;i<20;i++)
{
String a=sc.next();
set.add(a);
}
System.out.println(set);
sc.close();
}

}

 

package chapter8;

import java.awt.List;
import java.util.ArrayList;

public class Test2 {

/**
* 创建一个List集合,添加十个元素。获取索值为5处的元素,在获取其中某2个元素的索引,在删除索引为3处的元素
* add():将元素添加到List集合中的Index处
* get(index):返回集合index索引处的元素
* remove(index):删除并返回index处的元素
* subList(startindex,endindex):返回索引[startindext,endindex)的子集合
*/
public static void main(String[] args) {
ArrayList books=new ArrayList();//此处需要注意的是直接List books=new ArrayList();不是不可以只是有点麻烦。
//解决方案一:将books实例化.List books=null
//方案二:Java.awt.List books=new ArrayList();
//方案三:加参数.
//不过为了书写方便我按照最简单的方式处理了。
books.add("iuagi");
books.add("jka");
books.add("cdah");
books.add("hiuu");
books.add("ijhfvyh");
System.out.println("输出集合");
System.out.println(books);
System.out.println("获取索值为5处的元素");
System.out.println(books.get(4));
System.out.println("在获取第2到3元素的索引");
System.out.println(books.subList(1, 3));
System.out.println("在删除索引为3处的元素");
books.remove(2);
System.out.println(books);
}

}

 

package chapter8;
import java.util.HashMap;

public class test3 {

public static void main(String[] args) {

/**
* 给定一个["a","b","a","b","c","a","b","c","d"]字符串数组,使用Map的key来保存数组中字符串元素
* value保存该字符串元素出现的次数
* 最后统计出各字符串元素 出现的次数
*/


HashMap hM=new HashMap();
String[] sz={
"a","b","a","b","c","a","b","c","d"
};
for(int i=0;i<sz.length;i++){
int j=0;
while(j<i){
if(sz[i]==sz[j]){ //已出现过
break;
}
j++;
}
System.out.println(j);
if(j==i){ //没有添加过的元素
String s=sz[i];
int m=0;
for(int n=0;n<sz.length;n++){ //遍历出现次数
if(sz[i]==sz[n]){
m++;
}
}
hM.put(s, m+"");
}
}
System.out.println(hM);
}}