/*
* 测试HashMap的应用,判断
*/
import java.util.HashMap; public class HuaWeiTest { private static final Integer ONE = new Integer(1); public static void main(String[] args) {
HashMap<Character, Integer> m=new HashMap<Character, Integer>();
char c[]={'张','张','王','王','王','赵','刘'};
for(int i=0;i<c.length;i++){
Integer freq=(Integer)m.get(c[i]); //get方法是获取这个position的value;c[i]是position;取值;
m.put(c[i], freq==null?ONE:new Integer(freq.intValue()+1)); }
System.out.println("不同姓氏有"+m.size()+"个");
System.out.println(m);
}
}

测试结果:

不同姓氏有4个
{张=2, 赵=1, 刘=1, 王=3}

华为机试题目:

package huawei7;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner; public class Password {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<String> list = new ArrayList<String>();
while(sc.hasNext()) {
list.add(sc.nextLine());
}
for(int i=0;i<list.size();i++) {
String input = list.get(i).trim();
if(isLegal(input)) {
System.out.println("OK");
}
else {
System.out.println("NG");
}
} sc.close();
} static boolean isLegal(String input) {
if(input.length()<=8) {
return false;
} HashMap<String, Integer> hash = new HashMap<String, Integer>(); for(int i=0;i<input.length();i++) {
char ch = input.charAt(i);
if(ch>='0' && ch<='9') {
hash.put("num", 1);
}
else if(ch>='a' && ch<='z') {
hash.put("upCase", 1);
}
else if(ch>='A' && ch<='Z') {
hash.put("lowCase", 1);
}
else if((ch>=0x21 && ch<=0x2F) || (ch>=0x3A && ch<=0x40)
||(ch>=0x5B && ch<=0x60) ||(ch>=0x7B && ch<=0x7E)) {
hash.put("symbol", 1);
}
}
Iterator<Integer> ite = hash.values().iterator();
int count =0;
while(ite.hasNext()) {
count+=ite.next();
}
if(count<3) {
return false;
} for(int i=0;i<input.length();i++) {
for(int j=3;j<= input.length();j++)
if(j+i<input.length()) {
String str =input.substring(i,i+j);
String left = input.substring(i+j);
if(left.contains(str)) {
return false;
}
}
}
return true;
}
}

华为漂亮度

package huawei4;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner; public class Beautiful {
private static final Integer ONE = new Integer(1); public static void main(String[] args){
System.out.println("请输入样例:");
Scanner scStr=new Scanner(System.in);
String in=scStr.nextLine();
String str[]=in.split(" "); //存起来,空格分割;
HashMap<String, Integer> hash=new HashMap<String, Integer>();
int count=str.length-1; //因为空格数为2的时候,时间字符串长度为3,而那个字符串也是两个
//ArrayList<String> list=new ArrayList<String>();
StringBuffer string1=new StringBuffer();
for(int i=0;i<count;i++){ //d对两个字符串进行遍历
string1.append(str[i+1]);
}
System.out.println(string1);
char ch[]=new char[20]; //开辟一个空间的字符数组
for(int j=0;j<string1.length();j++){
ch[j]=string1.charAt(j);
}
for(int k=0;k<ch.length;k++){
Integer freq=(Integer)hash.get(ch[k]);
hash.put(ch[k],freq==null?ONE:new Integer(freq.intValue()+1) ); } } }

HashMap使用的更多相关文章

  1. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

  2. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

  3. 计算机程序的思维逻辑 (40) - 剖析HashMap

    前面两节介绍了ArrayList和LinkedList,它们的一个共同特点是,查找元素的效率都比较低,都需要逐个进行比较,本节介绍HashMap,它的查找效率则要高的多,HashMap是什么?怎么用? ...

  4. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  5. 学习Redis你必须了解的数据结构——HashMap实现

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接博客园蜗牛 cnblogs.com\tdws . 首先提供一种获取hashCode的方法,是一种比较受欢迎的方式,该方法参照了一位园友的 ...

  6. HashMap与HashTable的区别

    HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题不涉及到HashSet和H ...

  7. JDK1.8 HashMap 源码分析

    一.概述 以键值对的形式存储,是基于Map接口的实现,可以接收null的键值,不保证有序(比如插入顺序),存储着Entry(hash, key, value, next)对象. 二.示例 public ...

  8. HashMap 源码解析

    HashMap简介: HashMap在日常的开发中应用的非常之广泛,它是基于Hash表,实现了Map接口,以键值对(key-value)形式进行数据存储,HashMap在数据结构上使用的是数组+链表. ...

  9. java面试题——HashMap和Hashtable 的区别

    一.HashMap 和Hashtable 的区别 我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Clonea ...

  10. 再谈HashMap

    HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见.先来介绍些基础知识.你可能也知 道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶 ...

随机推荐

  1. hdoj 5500 Reorder the Books

    Reorder the Books Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  2. iOS block并发

    多核运算 在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch), GCD的使用非常简单.它把任务分派到不同的queue队列来处理.开发者把任务代码装到一 ...

  3. android 五子棋开发

    两天完成基本功能,再对其进行细节bug优化,本小白的思路. 思路: 1.用canvas绘制棋盘:得到手机的分辨率.棋盘大小为19*19.将手机宽屏分为21份,取中间19份为棋盘.上下空白位置为按钮功能 ...

  4. iOS stretchableImageWithLeftCapWidth 图片放大不变形

    转载自:http://www.cnblogs.com/bandy/archive/2012/04/25/2469369.html - (UIImage *)stretchableImageWithLe ...

  5. 博客转移到lyso.me

    博客转移到http://lyso.me :)

  6. 【转】数据库中的join

    转自:http://coolshell.cn/articles/3463.html 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有 ...

  7. Ewebeditor最新漏洞及漏洞大全

    Ewebeditor最新漏洞及漏洞大全[收集] 来源:转载作者:佚名时间:2009-06-03 00:04:26 下面文章收集转载于网络:) 算是比較全面的ewebeditor编辑器的漏洞收集,如今的 ...

  8. [Bootstrap] 2. class 'row' & 'col-md-x' & 'col-md-offset-x'

    Usually when desgin a web page, we think building the page in grid. Bootstrap can help us to do that ...

  9. android学习日记04--开发中的通用细节

    1.android中的计量单位 px (pixels)(像素):是屏幕的物理像素点,与密度相关,密度大了,单位面积上的px会比较多.通常不推荐使用这个 pt(磅):1/72英寸,也较少用 in(英寸) ...

  10. C 双向链表

    单链表的结点都只有一个指向下一个结点的指针 单链表的数据元素无法直接访问其前驱元素 逆序访问单链表中的元素是极其耗时的操作! len = LinkList_Length(list); for (i=l ...