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 set=new HashSet();
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
int j=0;
while(j
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
if(sz[i]==sz[n]){
m++;
}
}
hM.put(s, m+"");
}
}
System.out.println(hM);
}}