精华内容
下载资源
问答
  • golang map 获取某个值

    万次阅读 2019-04-12 19:05:09
    我们如果想要获取某个map怎么做呢? package main import "fmt" func main() { m := map[string]int{ "a": 1, "b": 2, "c": 3, } fmt.Println("Geting values") ...

    我们如果想要获取某个map的值怎么做呢?

    package main
    
    import "fmt"
    
    func main() {
    
        m := map[string]int{
            "a": 1,
            "b": 2,
            "c": 3,
        }
    
        fmt.Println("Geting values")
        courseName := m["a"]
    }

    如果获取了一个不存在的key 怎么处理呢?

    例如:

    package main
    
    import "fmt"
    
    func main() {
    
        m := map[string]int{
            "a": 1,
            "b": 2,
            "c": 3,
        }
    
        fmt.Println("Geting values")
        courseName := m["d"]
    }

    输出结果会为空字串. 我们怎么防止空字串的问题呢?

    package main
    
    import "fmt"
    
    func main() {
    
        m := map[string]int{
            "a": 1,
            "b": 2,
            "c": 3,
        }
    
        fmt.Println("Geting values")
        courseName, ok := m["a"]
        fmt.Println(courseName,ok)
        if courseName, ok := m["d"]; ok{
            fmt.Println(courseName)
        }else{
            fmt.Println("key does not exist")
        }
    }

    这里我们使用到了两个变量接受值. 用第二个值来判断boolean

    file

    展开全文
  • 获取所有map对象某个属性列表 ================================ ©Copyright 蕃薯耀2021-06-29 https://www.cnblogs.com/fanshuyao/ /** * 获取List列表中的Map对象属性的 * @param <T> * @...

    获取List<Map<String, Object>中Map的属性值列表,

    获取所有map对象的某个属性列表

    ================================

    ©Copyright 蕃薯耀 2021-06-29

    https://blog.csdn.net/w995223851

    /**
         * 获取List列表中的Map对象属性的值
         * @param <T>
         * @param list List<Map<String, Object>> 
         * @param mapValueName Map对象属性名
         * @return
         * @throws Exception
         */
        @SuppressWarnings("unchecked")
        public static <T> List<T> getMapValues(List<Map<String, Object>> list, String mapValueName) throws Exception{
            
            log.info("mapValueName = " + mapValueName);
            
            if(StringUtils.isBlank(mapValueName)) {
                throw new ValidationException("Map对象属性名不能为空");
            }
            
            List<T> objectidList = new ArrayList<T>();
            
            for (Map<String, Object> map : list) {
                objectidList.add((T) map.get(mapValueName));
            }
            return objectidList;
        }

    Main方法

     public static void main(String[] args) throws Exception {
    
            List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
            Map<String, Object> map1 = new HashMap<String, Object>();
            map1.put("name", "aa");
            map1.put("age", 25);
            map1.put("long", 10000000000L);
            map1.put("double", 10000.25d);
            
            
            Map<String, Object> map2 = new HashMap<String, Object>();
            map2.put("name", "bb");
            map2.put("age", 24);
            map2.put("long", 20000000000L);
            map2.put("double", 20000.25d);
            
            Map<String, Object> map3= new HashMap<String, Object>();
            map3.put("name", "cc");
            map3.put("age", 26);
            map3.put("long", 30000000000L);
            map3.put("double", 30000.25d);
            
            list.add(map1);
            list.add(map2);
            list.add(map3);
            
            List<String> listResult = getMapValues(list, "name");
            System.out.println(listResult);
            
            List<Integer> listAge = getMapValues(list, "age");
            System.out.println(listAge);
            
            List<Long> listLong = getMapValues(list, "long");
            System.out.println(listLong);
            
            List<Long> listDouble = getMapValues(list, "double");
            System.out.println(listDouble);
        }

    输出结果:

    mapValueName = name
    [aa, bb, cc]
    
    mapValueName = age
    [25, 24, 26]
    
    mapValueName = long
    [10000000000, 20000000000, 30000000000]
    
    mapValueName = double
    [10000.25, 20000.25, 30000.25]

    ================================

    ©Copyright 蕃薯耀 2021-06-29

    https://blog.csdn.net/w995223851

    展开全文
  • 今天小编就为大家分享一篇Java中对list map根据map某个key进行排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这两种方法都是以key-value键值对的形式存在到map集合中,返回的都是上一次的。 如果上次没,直接返回null. 我们可以从map官网注释中看出: 1.使用put方法添加键值对,如果map集合中没有该key对应的,则直接...

     1、方式一:使用TreeSet去重

          List<Map<String,String>>  dataList = dataList .stream().collect(
                    collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing( o -> o.get("id") ))),
                            ArrayList::new)

           );

    2、方式二:使用map去重

         List<Map<String,String> dataList = dataList .stream()
                    .filter(distinctByKey(o -> o.get("id") ))
                    .collect(Collectors.toList());
       

        public static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {
            Map<Object, Boolean> seen = new ConcurrentHashMap<>();
            return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
        }

     2.1、Map集合中put与putIfAbsent的区别

    V put(K key, V value);       

    V putIfAbsent(K key, V value);

    这两种方法都是以key-value键值对的形式存在到map集合中,返回的都是上一次的值。 如果上次没值,直接返回null.

    我们可以从map官网注释中看出:

    1.使用put方法添加键值对,如果map集合中没有该key对应的值,则直接添加,并返回null;如果已经存在对应的值,则会覆盖旧值value为新的值;并返回 旧值

    2.使用putIfAbsent方法添加键值对,如果map集合中没有该key对应的值,则直接添加,并返回null;如果已经存在对应的值,则value依旧为原来的值。并返回 原来的值

     

    public class Java8StreamTest {
    
        public static class Book{
    
            private String id;
    
            private String name;
    
            public Book(String id, String name) {
                this.id = id;
                this.name = name;
            }
    
            public String getId() {
                return id;
            }
    
            public void setId(String id) {
                this.id = id;
            }
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            @Override
            public String toString() {
                return "Book{" +
                    "id='" + id + '\'' +
                    ", name='" + name + '\'' +
                    '}';
            }
        }
    
        @Test
        public void testUnique(){
            List<Book> books = Lists.newArrayList(new Book("1","1"),new Book("2","2"),new Book("3","3"),new Book("2","2"));
    
    		//方式一:使用TreeSet去重
            List<Book> unique1 = books.stream().collect(
                    collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getId()))),
                            ArrayList::new));
    
            System.out.println(unique1);
    
    		//方式二:使用map去重
            List<Book> unique2 = books.stream()
                    .filter(distinctByKey(o -> o.getId()))
                    .collect(Collectors.toList());
            System.out.println(unique2);
    
        }
    
        public static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {
            Map<Object, Boolean> seen = new ConcurrentHashMap<>();
            System.out.println("这个函数将应用到每一个item");
            return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
        }
    
    }
    

     

    展开全文
  • 本篇文章主要介绍了Java遍历Map键、获取Map大小的方法示例,详细的介绍了Java遍历Map的两种实现方法和大小,具有一定的参考价值,有兴趣的可以了解一下。
  • freemarker如何得到map某个值

    万次阅读 2017-02-17 15:46:06
    有两种情况: ...例子中,item是一个List一个map对象。 想要得到map.get("total")同效果的,使用${item["total"]}。 2.map的key需要进行动态获取,以查对应value。 ${item_index + 1} ${it

    有两种情况:

    1.map的key已知为某字符串常量,要查对应value。

    <#list list as item >
    ${item["total"]}
    </#list>


    例子中,item是一个List<Map>一个map对象。

    想要得到map.get("total")同效果的值,使用${item["total"]}。


    2.map的key需要进行动态获取,以查对应value。

    <#list list as item>
    <tr>
    <td>${item_index + 1}</td>
    <td style="text-align: left">${item["title"]}</td>
    <#list zyList as key>
    <td rowspan="1">${item[key]}</td>
    </#list>
    <td>${item["total"]}</td>
    </tr>
    </#list>

    例子中的list与item同上。

    zyList是一个List<String>的实例对象。

    key为zyList某次得到的某个String对象。

    key的值在是动态得到的。

    因此使用${item[key]}来获得。

    展开全文
  • 删除map某个值

    千次阅读 2012-12-20 11:03:04
    Map map = new HashMap(); Long v1 = 12345678L; Long v2 = 87654321L; map.put("v1",v1); map.put("v2",v2); Iterator it = map.keySet().iterato...
  • list map 根据map某个key进行排序

    千次阅读 2018-12-24 10:48:52
    list map (List&...)中,根据map某个某个key进行排序 import java.util.*; public class ListMapSort { public static void main(String[] args) { List&lt;Map&lt;String, Objec...
  • )中,根据map某个某个key进行排序 示例:按年龄排序,升序。代码如下: import java.util.*; public class ListMapSort { public static void main(String[] args) { List<Map<String, Object>> ...
  • package test;import java.util.ArrayList;import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map;public class java_ListMapSort {
  • 数组对象该怎么获取某个值

    千次阅读 2020-11-18 16:04:00
    今天在处理接口时,后台返回的数据格式是这样的 展开后是这样 我需要获取其中的name,并...把bindingId.selectUser传给接口去查找对应数据,最后定义一个map对象来等待存储数据 forEach() 方法用于调用数组的每
  • map删除某个key

    千次阅读 2020-08-01 21:35:26
  • var obj = [ {name:'小明',age:16,sex:'男'}, {name:'小红',age:17,sex:'女'}, {name:'小白',age:18,sex:'女'}, ... obj.map( item => { console.log(item.age); }) } getter(obj); //16 //17 //18
  • Python.获取接近某个值的列表

    千次阅读 2019-03-27 11:02:38
    描述一下: 有一个长长的数组,里面的数最大为某个值,比如30;我想从里面提取数组,尽可能接近这个值,把所有可能的,不重复的结果以列表嵌套的方式返回来;...用于获取接近某个值的列表 ''' def ls_to_i...
  • 这个是个VO对像 [quote="java"] ... ...public class AddListVO { ...public class map { ... Map.Entry mapentry = (Map.Entry) iterator.next();... System.out.println(mapentry....我想得到这个对象里的元素的 应该咋办?
  • JAVA 获取Map中的

    千次阅读 2011-09-13 18:13:00
    import java.util.HashMap; import java.util....import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class test2 { /** * @param args */ public static void main(Str...
  • 错误信息: org.springframework.dao.TransientDataAccessResourceException: 代码如图: map中代码 Map map=new HashMap(); map.put("date1", date1);...使用map时使用#{kay}是取不到的 作者:泰山码
  • 获取对象数组中某个属性最小的对象
  • import java.util.ArrayList;   import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List...import java.util.Map;   public class Test {  public static...
  • private Map<String, Object> getFieldsName(JoinPoint joinPoint){ Map<String, Object> map = new HashMap<String, Object>(); MethodSignature methodSignature = (MethodSignature) j...
  • 集合根据Map里的某个值大小进行排序 实现代码: import java.net.SocketException; import java.net.UnknownHostException; import java.util.*; public class hhh { public static void main(String[] args) ...
  • 使用ibatis需要在参数中获取对象map属性对应key的value,可以如下进行获取,记下来防止忘记了
  • 获取Map的value的最大和最小值

    万次阅读 2018-11-06 16:37:51
    百度了一下,差不多都是value排序,但是我只需要取最大最小值和计算最大最小的平均,随便写了一个,不知道会存在什么问题,慎重使用。。。 public Map&lt;String,Double&gt; getMapMaxMinAvg(Map&...
  • 获取Map中Key和Value的

    千次阅读 2020-04-03 16:59:31
    在日常编码中,我们经常会用到Map和HashMap来处理数据,今天我遇到了一个关于获取Map中key的问题,在这给大家分享一下: 业务场景: //将Map放入list中 List<Map<String, String>> ListMap = new ...
  • STRUTS2 取某个map值

    千次阅读 2011-11-17 16:24:11
    STRUTS2 取某个map值 s:set name="map" value="#request.paras" /> s:if test="${map['test']!=null}"> s:property value="#map['test']" /> s:if>
  •  Map是一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上...
  • Map获取其键和

    千次阅读 2016-10-12 20:01:57
    Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。   Map的接口   Map---实现Map   Map.Entry--Map的内部类,描述Map中的按键/数值对。   SortedMap---...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 347,765
精华内容 139,106
关键字:

如何获取map的某个值