㈠ Json數據解析key為java關鍵字怎麼辦

你自己定義的bean裡面稍微變一下,使用序列化的方式就可以正常獲取了。回
需要答使用jackson的相關jar。

@JsonProperty("abstract")
private String myAbstract;

㈡ Java怎樣創建兩個KEY的MAP

就像在XY坐標系中,一個X刻度、一個Y刻度,會對應圖上的一個點,即pair(x, y) – > point,那麼就有創建一個點,或者根據(x, y)來尋求一個點的需求,如果用Python的語法表達,是這個樣子:
Python中表達pair KEY映射MAP的方法

Python

dict((x, y) : point)

dict ( ( x , y ) : point )

然而在JAVA中卻變得不容易,骨鉤了一下,有這么一些方法:
使用嵌套MAP
嵌套MAP實現雙KEY MAP

Java

Map<Integer, Map<Integer, V>> map = //...
// ...

map.get(2).get(5);

Map < Integer , Map < Integer , V >> map = //...
// ...
map . get ( 2 ) . get ( 5 ) ;

這種方法將水平的KEY切換成了垂直KEY,我們要找尋XY坐標系中(x, y)對應的點,其實可以先找x點的那條垂直線,然後找出這條垂直線上y高度的那個點。
但是要取得這個雙KEY的VALUE,得有2次GET,實例代碼沒有做第一次GET的NULL判斷,有隱患!並且感覺不是很直觀。
寫一個pair key的包裝類
pair key的包裝類

Java

public class Key {

private final int x;
private final int y;

public Key(int x, int y) {
this.x = x;
this.y = y;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Key)) return false;
Key key = (Key) o;
return x == key.x && y == key.y;
}

@Override
public int hashCode() {
int result = x;
result = 31 * result + y;
return result;
}

}

public class Key {
private final int x ;
private final int y ;
public Key ( int x , int y ) {
this . x = x ;
this . y = y ;
}
@Override
public boolean equals ( Object o ) {
if ( this == o ) return true ;
if ( ! ( o instanceof Key ) ) return false ;
Key key = ( Key ) o ;
return x == key . x && y == key . y ;
}
@Override
public int hashCode ( ) {
int result = x ;
result = 31 * result + y ;
return result ;
}
}

以這種方法提前包裝好一個類,類中有x和y兩個屬性,同時提供equals方法用於「點」的比較,提供hashCode用於使用在計算對象在散列表中的位置。
為什麼要覆蓋hashCode方法?請 參見鏈接
寫完這個pair類之後,就好用了:
實現了pair類之後的雙key的MAP寫法

Java

Map<Key, V> map = //...

map.get(new Key(2, 5));

Map < Key , V > map = //...
map . get ( new Key ( 2 , 5 ) ) ;

這種方法以更多的代碼為代價來實現pair key的map,pair class的編寫中,不能忘記覆蓋equals和hashcode方法,增加了代碼量,感覺不是很好用。
GOOGLE的HashBasedTable類庫
這種方法感覺才是最直觀,最好用的
使用GOOGLE的HashBasedTable實現PAIR KEY

Java

import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;

// 創建
Table<Long, Long, Point> plane = HashBasedTable.create();

// 新增
plane.put(1L, 2L, pointA);
plane.put(1L, 3L, pointB);
plane.put(1L, 4L, pointC);

// 獲取
Point pointA = plane.get(1L, 2L);
Point pointB = plane.get(1L, 2L);

import com . google . common . collect . HashBasedTable ;
import com . google . common . collect . Table ;
// 創建
Table < Long , Long , Point > plane = HashBasedTable . create ( ) ;
// 新增
plane . put ( 1L , 2L , pointA ) ;
plane . put ( 1L , 3L , pointB ) ;
plane . put ( 1L , 4L , pointC ) ;
// 獲取
Point pointA = plane . get ( 1L , 2L ) ;
Point pointB = plane . get ( 1L , 2L ) ;

驚嘆,好用。在JAVA語言里,寫成這樣的代碼,可稱之為藝術。
無限維度的KEY
有兩種方法可以實現無線維度的KEY,第一種和本文的第二種方法一樣,先寫一個CLASS,裡面有無限個屬性,然後作為MAP的KEY。
第二種,如果類型一樣,可以這樣子實現:
使用List作為無限MAP的KEY
Java

Map<List<Integer>, V> map = //...

Map < List <Integer> , V > map = //...

但是這種方法易出錯、不易讀,並且性能很低。
總結
要實現map的key是兩個綁定的屬性,或者稱之為pair key,個人認為首先使用google的HashBasedTable類庫,其次的方法是編寫對應的class。

㈢ java類,用key

Map map = new HashMap<Object,Object>();

map.put("a","A");
map.put(1,1);
map.put(2.5,2.5);
Collections.sort(map);
//循環輸出MAP

㈣ JAVA語言中KeyListener介面的使用,即keyPressed、keyTyped和keyReleased三種方法的按鍵應該是如何操作的

監聽器應該加在JTextArea上,而不是窗口上:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KeyinEvent extends JFrame implements KeyListener
{
JTextArea textarea=new JTextArea(4,20);
Container c;

public KeyinEvent()
{
super("按鍵測試");
c=getContentPane();
c.setLayout(new FlowLayout());
textarea.addKeyListener(this);
c.add(textarea);
//textarea.setText("請按任意鍵");
setSize(300,120);
setVisible(true);
//addKeyListener(this);
}

public void keyPressed(KeyEvent e)
{
String line1="按鍵"+e.getKeyChar();
String line2="按鍵是否為Action鍵"+e.isActionKey();
String mkey=e.getKeyModifiersText(e.getModifiers());
String line3="是否按下Modifier鍵"+(mkey.equals("")?"否":"是,其鍵為:"+mkey);
textarea.setText(line1+"\n"+line2+"\n"+line3+"\n");
}

public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
public static void main(String[] args)
{
KeyinEvent be=new KeyinEvent();
be.addWindowListener(new MyWindowListener());
}
}

class MyWindowListener implements WindowListener
{
public void windowActivated(WindowEvent e)
{
System.out.println("窗口為活動狀態");
}

public void windowClosed(WindowEvent e)
{
System.out.println("窗口為關閉狀態");
System.exit(0);
}

public void windowClosing(WindowEvent e)
{
System.out.println("窗口正在關閉");
System.exit(0);
}

public void windowDeactivated(WindowEvent e)
{
System.out.println("窗口不再活動");
}

public void windowDeiconified(WindowEvent e)
{
System.out.println("窗口由最小化變為正常");
}

public void windowIconified(WindowEvent e)
{
System.out.println("窗口為最小化");
}

public void windowOpened(WindowEvent e)
{
System.out.println("窗口首次可見");
}
}

㈤ java中map<key,value>是什麼意思

java中map<key,value>是泛型的典型樣式。
key和value代表鍵和值,你可以想像成兩個值一一對應,可以根據key查找到value的值。你可以把省作為key,省會作為value,根據省可以查到省會。或者把整數作為key,任何對象作為value,就和數組一樣根據整數能找到對應的對象。

Map<String,int> 就表示這個 map 的key 是String 類型 value 是 int 類,就是 強制設計期就限定map 裡面元素的類型.
JDK 5.0 中增加的泛型類型,是 Java 語言中類型安全的一次重要改進。

泛型編程(Generic Programming)最初提出時的動機很簡單直接:發明一種語言機制,能夠幫助實現一個通用的標准容器庫。所謂通用的標准容器庫,就是要能夠做到,比如用一個List類存放所有可能類型的對象,這樣的事情;
更多內容請參考《java泛型詳解_網路》

㈥ java Map 根據Map的值(value)取鍵(key)

java根據Map的值(value)取鍵(key) 的實現方法有4種,分別為:

(1)使用for循環遍歷

(2)使用Iterator迭代器

(3)使用KeySet迭代

(4)使用EnterySet迭代

下面為以上4種方法具體實現的代碼:

1、使用for循環遍歷

public static Object getKey(HashMap<Object,Object> map, String v) {

String key = "";

for (Map.Entry<String, Object> m :map.entrySet()) {

if (m.getValue().equals(v)) {

key = m.getKey();

}}

return key;

}

㈦ JAVA基礎 key在這里干什麼搞不懂

key在這里是你要查找的內容(文字列)。

舉個例子

Stringstr="abcdef";
Stringkey="cde";
intindex=1;

這時

str.indexOf(key,index)

就返回2。因為我們從"abcdef"的index=1(b的位置)開始找,找到了"cde","cde"在str中的index=2。

此時,我們要繼續找到話就要從 str 的 index = 2 + 3 的地方開始找。

2代表的是 "cde"在str中的index

3代表的是"cde"的長度,也就是key.length()。

㈧ java里老是說key,這是什麼東東

比如說在jsp中吧:session.setAttribute("name","事例")//第一個是鍵,第二個是值
然後再別的網頁獲取這個值:session.getAttribute("name")
這樣很方便,我專只需要調用鍵就屬能夠讀到值,這個鍵就像Id似的!

㈨ 求 JAVA key

請問你的JCreater版本是什麼,那不是javakey,是你的JCreater的序列號

㈩ 在java中,加密和解密時密鑰類型用Key和SecretKeySpec有什麼區別

一個是你的byte數組定義的密鑰,一個是採用某種加密演算法加密後的密鑰。。。。。