「javakey类型」java编写一个类monkey

博主:adminadmin 2022-12-26 12:21:09 54

本篇文章给大家谈谈javakey类型,以及java编写一个类monkey对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中怎么判断map的key类型

public class Test {

\x09/**

\x09* @param args

\x09*/

\x09public static void main(String[] args) {

\x09\x09// TODO Auto-generated method stub

\x09\x09HashMap map = new HashMap();

\x09\x09map.put("key1","value1");

\x09\x09map.put("key2","value2");

\x09\x09map.put("key3","value3");

\x09\x09Iterator keys = map.keySet().iterator();

\x09\x09while(keys.hasNext()){

\x09\x09\x09String key = (String)keys.next();

\x09\x09\x09if("key2".equals(key)){

\x09\x09\x09\x09System.out.println("这里面有key2");

\x09\x09\x09}

\x09\x09}

\x09}

}

java hashmap key类型

JAVA中

如果用到Map集合

一般用的最多的就是HashMap.

Map集合在取值时用的key的类型必须和存放的时候用的key的类型一直.

比如,如果使用Integer类型的

1

作为key

,使用String

类型的

1

是取不到的.

所以一般建议在申明HashMap的时候就加入类型

HashMap

map = new HashMap

();如果能确定Value的值,也可以申明清楚Value的值.

java中map是什么意思?

java中mapkey,value是泛型的典型样式。

key和value代表键和值,你可以想象成两个值一一对应,可以根据key查找到value的值。你可以把省作为key,省会作为value,根据省可以查到省会。或者把整数作为key,任何对象作为value,就和数组一样根据整数能找到对应的对象。

MapString,int 就表示这个 map 的key 是String 类型 value 是 int 类,就是 强制设计期就限定map 里面元素的类型.

JDK 5.0 中增加的泛型类型,是 Java 语言中类型安全的一次重要改进。

泛型编程(Generic Programming)最初提出时的动机很简单直接:发明一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象,这样的事情;

更多内容请参考《java泛型详解_百度百科》

java 中map 的key可以是整型吗?

可以的,看下面的程序:

运行结果:

取出来的时候,在转换

怎样将一个String转化为Key类型(java.security.Key)。

用byte数组转

java 免费源码视频:

package com.shop.utils;

002

003

import java.security.KeyFactory;

004

import java.security.KeyPair;

005

import java.security.KeyPairGenerator;

006

import java.security.NoSuchAlgorithmException;

007

import java.security.PrivateKey;

008

import java.security.PublicKey;

009

import java.security.Signature;

010

import java.security.spec.PKCS8EncodedKeySpec;

011

import java.security.spec.X509EncodedKeySpec;

012

import java.util.ArrayList;

013

import java.util.HashMap;

014

015

import com.shop.domain.User;

016

017

/**

018

* 验证用户的公私钥

019

*

020

* @author V

021

*

022

*/

023

public class RSACheck {

024

025

public HashMapString, String getKey(){

026

KeyPairGenerator key = null;

027

try {

028

key = KeyPairGenerator.getInstance("RSA");

029

} catch (NoSuchAlgorithmException e) {

030

031

e.printStackTrace();

032

}

033

key.initialize(1024);

034

// 产生密钥对

035

KeyPair keyPair = key.generateKeyPair();

036

// 得到公钥

037

PublicKey publicKey = keyPair.getPublic();

038

// 得到私钥

039

PrivateKey privateKey = keyPair.getPrivate();

040

041

byte[] keyBytes=publicKey.getEncoded();

042

byte[] keyBytes2=privateKey.getEncoded();

043

044

//base64加密,方便以字符串存入数据库或文件

045

String temp = new sun.misc.BASE64Encoder().encodeBuffer(keyBytes);

046

System.out.println("公钥"+temp);

047

048

String temp2 = new sun.misc.BASE64Encoder().encodeBuffer(keyBytes2);

049

System.out.println("私钥"+temp2);

050

051

HashMapString, String keyRs=new HashMapString, String ();

052

keyRs.put("privateKey", temp2);

053

keyRs.put("publicKey", temp);

054

return keyRs;

055

}

056

057

//验证私钥公钥

058

public boolean checkKey(User user,String privateKey) {

059

060

try {

061

//获取数据库中的用户公钥

062

String sql="select code from users where name=? ";

063

String[] value = { user.getName()};

064

ArrayListHashMapString, String rs=new DBTool().doQuery(sql, value);

065

String publicKey=rs.get(0).get("code");

066

067

System.out.println(publicKey);

068

// base64解密

069

byte[] sikey = new sun.misc.BASE64Decoder().decodeBuffer(privateKey);

070

byte[] gongkey = new sun.misc.BASE64Decoder().decodeBuffer(publicKey);

071

072

// 将byte[]转成密钥

073

KeyFactory keyFactory = KeyFactory.getInstance("RSA"); // 指定算法RSA,得到一个KeyFactory的实例

074

075

// 解码私钥

076

PKCS8EncodedKeySpec pKCS8EncodedKeySpec =new PKCS8EncodedKeySpec(sikey);

077

PrivateKey privateKey2 = keyFactory.generatePrivate(pKCS8EncodedKeySpec);

078

// 解码公钥

079

080

KeyFactory keyFactory2 = KeyFactory.getInstance("RSA"); // 指定算法RSA,得到一个KeyFactory的实例

081

X509EncodedKeySpec x509KeySpec2 = new X509EncodedKeySpec(gongkey);

082

PublicKey publicKey2 = keyFactory2.generatePublic(x509KeySpec2);

083

084

085

Signature sig = Signature.getInstance("MD5WithRSA");

086

// 获取用户名

087

byte[] data = user.getName().getBytes("UTF8");

088

// 获取私钥

089

sig.initSign(privateKey2);

090

sig.update(data);

091

byte[] signatureByte = sig.sign();

092

sig.initVerify(publicKey2);

093

sig.update(data);

094

boolean verified = false;

095

verified = sig.verify(signatureByte);

096

if (verified) {

097

System.out.println("验证成功");

098

return true;

099

} else {

100

System.out.println("验证失败");

101

return false;

102

}

103

} catch (Exception e) {

104

// e.printStackTrace();

105

System.out.println("验证失败2");

106

return false;

107

}

108

109

}

110

}

java类,用key

HashMap无序,所以肯定要借助其他数据结构,上面说的sort map简直是扯淡,sort是对List的,Map是和List不同的接口,完全没关系。

你的key是什么类型

value是什么类型,按key的hashcode还是value的hashcode排列,不说清楚这个排法和数据结构完全不同

关于javakey类型和java编写一个类monkey的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。