请教大神java list map如何修改list中map的值

SET和MAP的区别+ Map的三种遍历方法
JAVA中的Map接口介绍Map接口不是Collection接口的继承。Map接口用于维护键值对(keyvaluepais)。该接口描述了从不重复的键到值的映射。(1)添加、删除操作:Ojectput(Ojectkey,Ojectvalue):将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回nullOjectemove(Ojectkey):从映像中删除与key相关的映射voidputAll(Mapt):将来自特定映像的所有元素添加给该映像voidclea():从映像中删除所有映射“键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。”(2)查询操作:Ojectget(Ojectkey):获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回nullooleancontainsKey(Ojectkey):判断映像中是否存在关键字keyooleancontainsValue(Ojectvalue):判断映像中是否存在值valueintsize():返回当前映像中映射的数量ooleanisEmpty():判断映像中是否有任何映射(3)视图操作:处理映像中键值对组SetkeySet():返回映像中所有关键字的视图集“因为映射中键的集合必须是唯一的,您用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”Collectionvalues():返回映像中所有值的视图集“因为映射中值的集合不是唯一的,您用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”SetentySet():返回Map.Enty对象的视图集,即映像中的关键字值对“因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”4.1.Map.Enty接口Map的entySet()方法返回一个实现Map.Enty接口的对象集合。集合中每个对象都是底层Map中一个特定的键值对。通过这个集合的迭代器,您可以获得每一个条目(唯一获取方式)的键或值并对值进行更改。当条目通过迭代器返回后,除非是迭代器自身的emove()方法或者迭
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
1363&&人浏览
3855&&人浏览
18375&&人浏览
8106&&人浏览
13203&&人浏览
13243&&人浏览
3772&&人浏览
11000&&人浏览
6584&&人浏览
16443&&人浏览
12553&&人浏览
4345&&人浏览
12316&&人浏览
4334&&人浏览
15738&&人浏览
本文标题:JAVA
SET和MAP的区别+ Map的三种遍历方法 链接地址:
2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号博客分类:
* 有一个字符串数组内有如下字符串 user/add, user/get, user/list, user/edit, role/add,
* role/get, role/list, staff/add, staff/edit, staff/list
* 请将他们分组存放到list里面,分组的依据是"/"前面的字符相同,
* 每组用一个list容器来存放,然后存放到map里面,key就是"/"前面的字符串
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
* @author 小苗
public class Group {
public static void main(String[] args) {
String s1=null,s2=null,s3=
String[] s = { "user/add",
"role/list","user/get", "user/list", "user/edit",
"role/add", "role/get", "staff/add", "staff/edit",
"staff/list" };
// 定义三个集合来存放 字符串
List&String& list1 = new ArrayList&String&();
List&String& list2 = new ArrayList&String&();
List&String& list3 = new ArrayList&String&();
for (int i = 0; i & s. i++) {
if (s[i].split("/")[0].equals("user")) { // split为拆分字符串,/之前的子字符串与“user”比较
list1.add(s[i]); // 如果相等 ,/之前的子字符串添加到list1中
s1 = s[i].split("/")[0];
//将拆分出来的字符串赋给一个字符串变量①
if (s[i].split("/")[0].equals("role")) {
list2.add(s[i]);
s2 = s[i].split("/")[0];
if (s[i].split("/")[0].equals("staff")) {
list3.add(s[i]);
s3 = s[i].split("/")[0];
Map&String, List& m1 = new HashMap&String, List&();
m1.put(s1, list1);
m1.put(s2, list2);
m1.put(s3, list3);
System.out.println(m1);
浏览: 64972 次
来自: 嘉兴
同事面试遇到这个题目了
lingyun304 写道s1!=s2处理完后,要给s1赋值s ...
s1!=s2处理完后,要给s1赋值s2,即s1=s2;
这个方法在火狐浏览器不起作用呢,不过在IE是可以的,哈哈。
面试遇见几次,但从没记过,这次载大了,过来学习学习。答案很精辟 ...17243人阅读
Map&Integer, String& map = new HashMap&Integer, String&() {{&
& & & & put( 1 , &name& );&
& & & & &put( 2 , &sex& );&
List&String& list = new ArrayList&String&() {{&
& & & & add( &first& );&
& & & & add( &second& );&
& & & & add( &third& );&
/zml525/item/638aba167a1b5c5e2b3e2269
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:521370次
积分:3734
积分:3734
排名:第8948名
原创:53篇
转载:29篇
评论:33条
(2)(1)(9)(6)(7)(8)(1)(10)(11)(3)(3)(6)(3)(6)(1)(2)(1)(1)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'11:50 提问
Java List&Map&怎么取对应的数据。
时间对应不上,他总是取最后一条数据。
按赞数排序
获取指定的map你要遍历,然后这个map就可以用key去访问里面的value
使用相应的key获取与其对应的value:get(Object key)调用get方法
试试 linkedList ,链表的存储方式能否解决这个问题
其他相关推荐
其他相似问题一段代码搞懂关于Java中List、Set集合及Map的使用
作者:我不看我不看
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了关于Java中List、Set集合及Map的使用及list,set和map三者的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Java中List、Set集合及Map的使用代码如下所示:
import java.util.*;
public class TongJi {
* 使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求
* 实现思路根据Set、List、Map集合的特性完成。
public static void main(String[] args) {
// 输入字符串
Scanner input = new Scanner(System.in);
String shuRu = input.next();
// 把字符串字符装入List集合
List&String& list = new ArrayList&String&();
for (int i = 0; i & shuRu.length(); i++) {
list.add(String.valueOf(shuRu.charAt(i)));
// 把字符串字符装入Set集合
Set&String& set = new HashSet&String&();
for (int i = 0; i & shuRu.length(); i++) {
set.add(String.valueOf(shuRu.charAt(i)));
// 用Set中的字符与List中的字符进行比较,相同就加1进行计数,
// 然后把Set集合中的字符作为键(key),统计的数作为值(value),最后打印出Map中的数据
Map&String, Integer& map = new HashMap&String, Integer&();
for (String str : set) {
int sum = 0;
// System.out.println(str);
for (int i = 0; i & list.size(); i++) {
if (list.get(i).equals(str)) {
map.put(str, sum);
Set&String& ss = map.keySet();
for (String str : ss) {
System.out.println(str + "出现次数为" + map.get(str) + "次");
input.close();
下面看下set map list的区别&
都是集合接口
& set --其中的值不允许重复,无序的数据结构
& list&& --其中的值允许重复,因为其为有序的数据结构
& map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)&
List 按对象进入的顺序保存对象,不做排序或编辑操作。
Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。
Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap.
Collection 是对象集合, Collection 有两个子接口 List 和 Set
List 可以通过下标 (1,2..) 来取得值,值可以重复
而 Set 只能通过游标来取值,并且值是不能重复的
ArrayList , Vector , LinkedList 是 List 的实现类
&ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的
&LinkedList 是线程不安全的,底层是由链表实现的&&
Map 是键值对集合
HashTable 和 HashMap 是 Map 的实现类
HashTable 是线程安全的,不能存储 null 值
HashMap 不是线程安全的,可以存储 null 值
以上所述是小编给大家介绍的关于Java中List、Set集合及Map的使用知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 java map value list 的文章

 

随机推荐