導航:首頁 > 編程語言 > java數組鍵值

java數組鍵值

發布時間:2022-04-20 18:49:59

A. java 的haspmap中若使用string數組做鍵值,hashcode該怎麼改寫,在哪裡改寫

用object 做 hashmap 的key ,需要重寫這個object 的hashCode 和 equals 方法

如果你用string數組的話 ,你可以以寫一個小的類,包裝一下string數組,然後實現這個類的hashCode 和 equals 方法

具體 hashCode 返回什麼值合適,要看你的string數組,hashCode返回的值最好能夠最大限度的區分你的string數組

例子
class StringArrayWrapper{
String keyString;
public StringArrayWrapper(String[] ss){
keyString=ss[0];
}
public int hashCode(){
return keyString.length();
}
public boolean equals(Object o){
return (o instanceof StringArrayWrapper) && (keyString.length()==((StringArrayWrapper)o).hashCode());
}
}

B. java如果有特定的鍵值對 希望以鍵名為數組下標 鍵值為數組的值 怎麼來循環呢

沒具體明白你的意思。根據我的理解就是:你知道了數據下標和下標對應的值,並且這些都是放在Map中,然後你想利用循環,來獲取完整的數組。下面是根據我的理解的一個小實例

importjava.util.HashMap;
importjava.util.Map;
importjava.util.Set;
publicclassTest{
publicstaticvoidmain(String[]args){
Map<String,Object>map=newHashMap<String,Object>();
map.put("0","製造假數據");
map.put("1","下面是一個小示例");
map.put("2","存放數組下標和數值");
map.put("3","下面開始循環");
String[]arr=newString[map.size()];
Set<String>set=map.keySet();
for(Stringst:set){
arr[Integer.parseInt(st)]=(String)map.get(st);
}
for(inti=0;i<arr.length;i++){
System.out.println("arr["+i+"]:"+arr[i]);
}
}
}

C. Java中數組也算鍵值對嗎

是的java除了8種基礎類型外,其餘都是類,數組也是一種特殊的類,System.out.println(bText.getClass().getName());不算鍵值對

D. java使用方法改變數組的值

package com.vortex.test.type;

public class ArrayUtil<E> {

/**
*
* @param arr 需要改變的數組
* @param index 需要改變的下標
* @param newValue 新的值
* E 泛型: 數組對象類型:例如 String、Integer或者自定義對象類型
* @return
*/
public E[] chageValue(E[] arr,int index,E newValue){
try{
arr[index] = newValue;
}catch(Exception e){
System.out.println(e.getMessage());
}
return arr;
}

public static void main(String[] args) {
ArrayUtil<String> au = new ArrayUtil<String>();
String[] arr = {"1","2","3","4"};
System.out.println("修改前");
for(int i=0;i<arr.length;i++){
String val = arr[i];
System.out.println("第"+i+"個元素 為"+val);
}
arr = au.chageValue(arr, 0, "100");
System.out.println("修改後");
for(int i=0;i<arr.length;i++){
String val = arr[i];
System.out.println("第"+i+"個元素 為"+val);
}

ArrayUtil<User> user_au = new ArrayUtil<User>();
User[] user_arr = {new User("張三",22),new User("李四",23),new User("王五",21)};
System.out.println("修改前");
for(int i=0;i<user_arr.length;i++){
User u = user_arr[i];
System.out.println("第"+i+"個元素 name="+u.getName()+" age="+u.getAge());
}
user_arr = user_au.chageValue(user_arr, 0, new User("趙六",25));
System.out.println("修改後");
for(int i=0;i<user_arr.length;i++){
User u = user_arr[i];
System.out.println("第"+i+"個元素 name="+u.getName()+" age="+u.getAge());
}
}

}

class User{
private String name;

private int age;

public User(String name, int age) {
super();
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}

E. java 怎樣 改變 數組元素的值

1、首先你要確定數組的類型(比如 整型數組、字元串數組、位元組數組等類型)
2、其次你要能訪問到數組元素,即:明確訪問數組 元素的方法。
3、按照1和2中確認的類型和方法來對數組元素的值進行修改
例如:
int[] a={1,2,3,4,5,6}; //該數組類型為一維的整型數組,數組元素的類型都為整數類型
針對 該數組,訪問該一維數組可以通過下標的方法:a[i] ,i為數組元素的下標(i=0 表示數組的第1個元素,依次類推),如果要修改該數組的第3元素的值為 30 ,那麼i=2,可以通過 a[2]=30; 這個語句實現。

F. Java定義一個一維數組,並給每個元素賦值為數組下標的值,並顯示

publicstaticvoidmain(String[]args){
/**
*1、Java定義一個一維數組,並給每個元素賦值為數組下標的值,並顯示
*/
int[]arr=newint[10];

for(inti=0;i<arr.length;i++){
arr[i]=i;
System.out.println(i+","+arr[i]);
}
}

publicstaticvoidmain(String[]args){
/**
*2、修改上述程序,將數組的賦值改為從鍵盤上輸入的10個整數
*/
int[]arr=newint[10];
System.out.println("請依次輸入10個整數");
for(inti=0;i<arr.length;i++){
System.out.println("請輸入第"+(i+1)+"個整數:");
Scannerinput=newScanner(System.in);
arr[i]=Integer.parseInt(input.nextLine());
}
for(inti=0;i<arr.length;i++){
System.out.println(i+","+arr[i]);
}
/**
*3、修改上述程序,添加代碼,實現從10個數中找到最大值和最小值,並顯示。
*/
intmax=arr[0];//將數組的第一個元素賦給max
intmin=arr[0];//將數組的第一個元素賦給min
for(inti=1;i<arr.length;i++){
//從數組的第二個元素開始賦值,依次比較
if(arr[i]>max){
//如果arr[i]大於最大值,就將arr[i]賦給最大值
max=arr[i];
}
if(arr[i]<min){
//如果arr[i]小於最小值,就將arr[i]賦給最小值
min=arr[i];
}
}
System.out.println("最大值是:"+max);
System.out.println("最小值是:"+min);

/**
*4、修改上述程序,添加代碼,去掉最大值和最小值,然後計算剩下的數的平均值,並顯示
*/
intsum=0;
for(inti=0;i<arr.length;i++){
sum+=arr[i];
}
sum=sum-max-min;//去掉最大值和最小值的總和
doubleaverage=sum/(arr.length-2);
System.out.println("平均值:"+average);
}

G. java中如何map轉換為數組

map.put("123",newfloat[]{11,11,11});

按照已有的代碼,存進去的時候,new一個float數組,直接傳值就可以。

Map sMap = new HashMap<String[], String>();

String[] strs = {"1","2"};

sMap.put(strs, "map的鍵值可以為數組");

System.out.println(sMap.get(strs));//---->map的鍵值可以為數組。

(7)java數組鍵值擴展閱讀:

一個數組中的所有元素具有相同的數據類型(在C、C++、Java、pascal中都這樣。但也並非所有涉及數組的地方都這樣,比如在Visual Foxpro中的數組就並沒這樣的要求)。當然,當數據類型為 Variant 時,各個元素能夠包含不同種類的數據(對象、字元串、數值等等)。可以聲明任何基本數據類型的數組,包括用戶自定義類型和對象變數。

H. 【java】求助怎麼把一個數組元素隨機打亂順序,謝謝~~~

暈.不用那麼麻煩.

先轉化為list(為什麼不一開始就用List呢?)

例:

String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

直接調用shuffle,就是隨機排序

例:Collections.shuffle(list);

直接輸出就是你想要的結果

I. java map的鍵可以是數組嗎

可以。

MapsMap=newHashMap<String[],String>();
String[]strs={"1","2"};
sMap.put(strs,"map的鍵值可以為數組");
System.out.println(sMap.get(strs));//---->map的鍵值可以為數組

J. 請問java鍵值對存在的數組,遍歷後怎麼保存全部遍歷的信息

1.面向對象的思想,所以你看能否抽象為一個類,顯然這里這個快遞信息是可以的,
所以可以建立一個Message類,提供 private Date time ; 和 private String context; 等成員變數;
然後提供get 和 set方法;這也是封裝 ,抽象 的表現。
2.要使用的時候可以List<Message> list= new ArrayList<Message>();來封裝多條信息
3.而且這樣的類在MVC 中屬於模型層

閱讀全文

與java數組鍵值相關的資料

熱點內容
cad2014教程pdf 瀏覽:199
怎麼遍歷伺服器同一類型的文件 瀏覽:436
惠普戰66畫圖編程 瀏覽:805
java面向對象作業 瀏覽:568
cad插件製作加密狗 瀏覽:923
cmd命令對話框 瀏覽:290
安卓應用怎麼常駐 瀏覽:676
安卓手機怎麼群發小費才不會被鎖 瀏覽:741
相機文件夾設置 瀏覽:855
centos7php怎麼用 瀏覽:119
查看linux操作系統版本的命令 瀏覽:382
收支預演算法怎麼做 瀏覽:875
模板如何上傳到伺服器 瀏覽:372
如何同步安卓信息到新ipad 瀏覽:364
騰訊雲輕量伺服器流量警告 瀏覽:503
u盤備份linux 瀏覽:120
高壓縮比活塞 瀏覽:92
壓縮彈簧標准件 瀏覽:25
linux統計個數命令 瀏覽:292
cad轉pdf居中 瀏覽:8