疯狂java讲义 习题_疯狂Java讲义第8章习题

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);

}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值