热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将String[]转换为Map,并将数组索引转换为javalambda中的求和值?

如何解决《如何将String[]转换为Map,并将数组索引转换为javalambda中的求和值?》经验,为你挑选了1个好方法。

我有以下内容

new ConstructStateMachine(new String[] {
      "a", "b", "c", "aa", "d", "b"
}, 1, 5);

我想将此数组转换为Map.

这样字符串将数组中的字符串元素作为我的映射中的键,并且该值将作为整数列表作为值的数组的索引.

我还需要保留重复键,但当然这在Map中是不可能的,但解决方案是我们忽略重复键,但我们总结重复键的值为,而不是具有List我们将Integer作为值与总和为重复键的所有值.

假设我们有这个表:

indices | 0 | 1 | 2 | 3  | 4 | 5 |
item    | a | b | c | aa | d | b |
value   | 1 | 2 | 3 | 4  | 5 | 6 |

所以我们的地图应该保留以下内容:

// pseudo-code
Map dictiOnary= new HashMap<>(
   ("b"  => 8) // because "b" appeared in index 1 and 5
   ("c"  => 3)
   ("aa" => 4)
   ("d"  => 5)
);

我的不完整解决方案:

Map > table = new HashMap <> ();


// I thought of doing an intersection of two arrays and get the value from there
// but that just made things more complicated
String[] a = (Arrays.stream(dictionary)
  .filter(x - > Arrays.stream(newDis)
    .anyMatch(y - > Objects.equals(y, x))
  )
).toArray(String[]::new);


// in here, I tried looping and created the value that starts from 1 to 6, rather than
// from 0 to 5
IntStream.range(0, this.newDis.length).forEach(idx - > {
  List currentValue = table.computeIfAbsent(newDis[idx], k - > new ArrayList<>());
  currentValue.add(idx + 1);
});

但我只是无法将我的字符串数组转换为 Map



1> JB Nizet..:
String[] array = new String[] {"a", "b", "c", "aa", "d", "b"};
Map result =
    IntStream.range(0, array.length)
             .boxed()
             .collect(Collectors.toMap(i -> array[i], i -> i + 1, Integer::sum));

或者,通过简单的循环,使代码更加直观,直观,IMO:

Map result = new HashMap<>();
for (int i = 0; i 


推荐阅读
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • AFNetwork框架(零)使用NSURLSession进行网络请求
    本文介绍了AFNetwork框架中使用NSURLSession进行网络请求的方法,包括NSURLSession的配置、请求的创建和执行等步骤。同时还介绍了NSURLSessionDelegate和NSURLSessionConfiguration的相关内容。通过本文可以了解到AFNetwork框架中使用NSURLSession进行网络请求的基本流程和注意事项。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
author-avatar
mobiledu2502914997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有