获取HashMap的key列表

在代码的书写过程中,获取Map所有的key是一件常见的事情,那么如何处理呢?

在java提供的api中ArrayList<String>是一种很哈的解决方案,

下面对这个问题提供代码如下:

public static String[] getMapKeys(Map map){
  if(map==null || map.size()==0)
    return null;
  Array<String> list = new ArrayList<String>();
  Iterator iter = map.keySet().iterator();
  while (iter.hasNext()) {
    String tmpkey = (String)iter.next();
    if(tmpkey==null || tmpkey.length()==0)
      continue;
    list.add(tmpkey);
  }
  return list2strings(list);
}

public static String[] list2strings(final List arrayList)
{
  if(arrayList==null)
    return null;
  if(arrayList.size()==0)
    return null;
  String[] record = new String[arrayList.size()];
  arrayList.toArray(record);
  return record;
}

上面是本人对上面问题的一种思路,可能对有需要的朋友又饿帮助。

时间: 2024-10-09 20:30:05

获取HashMap的key列表的相关文章

RedisTemplate 获取redis中以某些字符串为前缀的KEY列表

// *号 必须要加,否则无法模糊查询 String prefix = "ofc-pincode-"+ pincode + "-*"; // 获取所有的key Set<String> keys = redisTemplate.keys(prefix); // 批量获取数据 List<MyObject> myObjectListRedis = redisTemplate.opsForValue().multiGet(keys); List<

HashMap的key可以是可变的对象吗???

HashMap的key可以是可变的对象吗??? 大家都知道,HashMap的是key-value(键值对)组成的,这个key既可以是基本数据类型对象,如Integer,Float,同时也可以是自己编写的对象,那么问题来了,这个作为key的对象是否能够改变呢?或者说key能否是一个可变的对象?如果可以该HashMap会怎么样? 可变对象 可变对象是指创建后自身状态能改变的对象.换句话说,可变对象是该对象在创建后它的哈希值(由类的hashCode()方法可以得出哈希值)可能被改变. 为了能直观的看出

HashMap 按key排序

1 Object[] key_arr = hashmap.keySet().toArray(); 2 Arrays.sort(key_arr); 3 for (Object key : key_arr) { 4 Object value = hashmap.get(key); 5 } 1 package Aug11.Collection; 2 3 import java.util.*; 4 5 public class EmployeeTest { 6 static int EmId=237;

Java 将自定义的对象作为HashMap的key

需要继承Map的equals函数和hashCode函数 package com.category; import java.util.HashMap; public class GenCategoryLevelData { private static HashMap<Category, Integer> categoryLevel = new HashMap<Category, Integer>(); /** * @param args */ public static void

使用python获取51CTO博客列表按时间倒序排序

之前看到了这道shell面试题:获取51CTO博客列表按时间倒序排序http://oldboy.blog.51cto.com/2561410/1860985 由于学了一段时间的python,试想着能否使用python来解题 思路:通过requests模块获取网页源码,通过split()函数获取总页数,拼接字符串获取所有博客地址的url.同样,通过requests获取所有页面的源码并通过正则匹配,获取关键信息,从而拼接出html页面. #coding:utf-8 import requests i

使用Python脚本获取指定格式文件列表的方法

在Python环境下获取指定后缀文件列表的方式. 来源stackoverflow 这里简单以*.txt的作为例子. 使用glob(推荐) 1 import glob, os 2 os.chdir("/mydir") 3 for file in glob.glob("*.txt"): 4 print(file) 简单实用os.listdir 1 import os 2 for file in os.listdir("/mydir"): 3 if f

一个关于自定义类型作为HashMap的key的问题

在之前的项目需要用到以自定义类型作为HashMap的key,遇到一个问题:如果修改了已经存储在HashMap中的实例,会发生什么情况呢?用一段代码来试验: import java.util.HashMap; import java.util.Map; public class TestHashMap { public static void main(String[] args) { testObjAsKey(); } private static void testObjAsKey() { c

企业shell面试题:获取51CTO博客列表按时间倒序排序

企业shell面试题:获取51CTO博客列表倒序排序考试题 老男孩教育培训机构需求:需求入下: 请把http://oldboy.blog.51cto.com 地址中的所有博文,按照时间倒序列表如下: 2013-09-13 运维就是一场没有硝烟的战争 http://oldboy.blog.51cto.com/2561410/1296694 2016-04-17 运维人员写项目方案及推进项目的基本流程思路 http://oldboy.blog.51cto.com/2561410/1764820 附加

SQL 获取时间段内日期列表

declare @start date,@end date; set @start='2010-01-01'; set @end='2010-02-01'; --获取时间段内日期列表 select [day]=dateadd(day, number - 1, @start) from master.dbo.spt_values where type='P' and number <= datediff(day, @start,@end) + 1 and number>0