昨天学了java.util下面的俩个类,龙哥并布置了俩个作业。1、用set实现去掉一个数组的重复数字和进行排序。2、用map进行一个字符串的字符统计。
实现 1 思路:是先排序还是先去重复(由于set是无序的,所以就要先进行去重复)----》取出后,进行排序(由于取出的个数不知道,所以先得创建一个队列来存放数组,再对队列进行排序)
代码:
import java.util.ArrayList;
//创建一个Set测试类
public class SetTest {
public static void main(String [] args){
//创建一个集合对象
java.util.HashSet<Integer> sSet=new java.util.HashSet<Integer>();
//定义一个数组
{
int[] t={10,20,5,11,10,20,11,5,45,12};
//定义一个队列用来存放去重复后的数组元素,由于去重复后不清楚元素个数,故选用队列存放
ArrayList ar=new ArrayList();
//放入元素
for(int i=0;i<t.length;i++){
Integer ss=t[i];
//将元素放入集合中
sSet.add(ss);
}
//遍历
//得到迭代器
java.util.Iterator<Integer> iter=sSet.iterator();
while(iter.hasNext()){//取得元素
Integer ss=iter.next();
//将数字放入队列中
ar.add(ss);}
//建立一个新数组,用来存入队列中的元素,以便于用冒泡法排序
int count=ar.size();
int [] a=new int[count];
for(int x=0;x<count;x++){
a[x]=(Integer) ar.get(x);
}//以下是冒泡法对新数组中的元素进行排序
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-1;j++){
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
System.out.print(a[i]+"\t");
}
}
}
}
实现 2 思路:我是将字符串转化为字符数组,再进行判断是否相同,如果相同就加1.,再输出结果
代码:
//创建一个Map测试类
public class MapTest {
//定义一个主函数
public static void main(String args[]) {
// 创建一个映射对象
java.util.Map<Character, Integer> map = new java.util.HashMap<Character, Integer>();
//定义一个字符串
String str = "sadsafddasdscv";
//将此字符串转换为一个新的字符数组
char[] s = str.toCharArray();
// System.out.println(s1.length);
// 往映射中放数据
for (int i = 0; i < s.length; i++) {
char s1 = s[i];
//定义一个变量
int t=0;
for (int j = 0; j < s.length; j++) {
if (s[i]==s[j]) {
t++;
}
}
// 将键值对放到map中
map.put(s1, t);
}
// 遍历
// 1.得到键的Set集合
java.util.Set<Character> keys = map.keySet();
// 得到迭代器
java.util.Iterator<Character> iter = keys.iterator();
// 迭代set集合
while (iter.hasNext()) {
// 取出一个
char key = iter.next();
// 根据key得到Value
int value = map.get(key);
System.out.println("字母"+key + " = "+"出现次数" + value);
}
}
}
***** * * * *****遍历******* * * * ******
set与map的区别:
相同点:多需要迭代器
不同点:后者需要先得到key值
因为我在网上查过,没这方面的题目,我就这此提供一点资料。希望得到好的建议。
分享到:
相关推荐
找到出现最多的数字和出现的次数,去除字符串中重复的数字,对去重后的字符串排序,代码规范
C++将一串带空格的数字字符串排序并统计重复元素输出
就拿去除重复行来说吧,几十万的数据用它就对了,比excel和sql快多了。导入进去,选择排序,去除重复行。
Linux运维-3.Shell编程-12 shell编程-133字符串处理之排序、取消重复行、统计.avi
主要介绍了Python实现统计给定字符串中重复模式最高子串功能,涉及Python针对字符串的遍历、排序、切片、运算等相关操作技巧,需要的朋友可以参考下
本文实例讲述了Python实现针对给定字符串寻找最长非重复子串的方法。分享给大家供大家参考,具体如下: 问题: 给定一个字符串,寻找其中最长的重复子序列,如果字符串是单个字符组成的话如“aaaaaaaaaaaaa”那么...
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串(少于80个字符)。 输出格式: 输出去重排序后的结果字符串。 输入样例:...
第三部分“排序”(第6~11章)按章节顺序分别讨论基本排序方法(如选择排序、插入排序、冒泡排序、希尔排序等)、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,...
(3)查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。 (4)显示功能:编辑完成后可以显示编辑后的文档。 (5)抽取功能:重复单词只保留一份拷贝,...
如何把单元格中的数字提取出来(字符串中不连续) 数字在字符串中不连续如何提取数字 用如何提取“-”前后的字符 怎样删去﹕后的文字 怎样只取“.”之后的文字﹖ 获取单元格内容中字符串 如何提取一串数字中的几位...
第二章:字符串和文本 2.1 使用多个界定符分割字符串 2.2 字符串开头或结尾匹配 2.3 用Shell通配符匹配字符串 2.4 字符串匹配和搜索 2.5 字符串搜索和替换 2.6 字符串忽略大小写的搜索替换 2.7 最短匹配模式...
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 5、说明生活中遇到的二叉树,用java实现二叉树 6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复...
5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧开始取子字符串 5.2.11 字符串替换 5.2.12 得到字符的ASCII码 5.2.13 得到一个...
5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧开始取子字符串 5.2.11 字符串替换 5.2.12 得到字符的ASCII码 5.2.13 得到一个...
5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧开始取子字符串 5.2.11 字符串替换 5.2.12 得到字符的ASCII码 5.2.13 得到一个...
5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧开始取子字符串 5.2.11 字符串替换 5.2.12 得到字符的ASCII码 5.2.13 得到一个...
4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和...
4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()...
├─001 字符串最后一个单词长度 │ └─Source ├─002 计算字符个数 │ └─Source ├─003 明明的随机数 │ └─Source ├─004 字符串分隔 │ └─Source ├─005 进制转换 │ └─Source ├─006 质数因子 │ ...
1.21 在Unicode和普通字符串之间转换 43 1.22 在标准输出中打印Unicode字符 45 1.23 对Unicode数据编码并用于XML和HTML 46 1.24 让某些字符串大小写不敏感 49 1.25 将HTML文档转化为文本显示到UNIX终端上 52 ...