Map集合转换模式对比及其循环----------- HashMap

本文详细介绍了Java中Map接口的不同使用方式及其内部实现原理。重点讲解了HashMap的三种遍历模式:通过entrySet进行遍历、通过keySet获取所有键再获取对应值、直接遍历所有的值。每种模式都提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map的输出依赖set(Map底层是Set)

HashMap:

模式3种

  1. entrySet();//把映射关系转化为set集合;

getValue() 返回与此项对应的值   getKey()返回与此项对应的键。

2.keySet();//map中所有的Key放入Set集合

get()                         put();

3. values();//返回一个集合  此集合装map中的value

循环模式

  1. foreach

Set<Entry<String,String>> e= m.entrySet();

for (Entry<String, String> en : m.entrySet()) {

          System.out.println(en.getKey()+"++++"+en.getValue());

                  }

 

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

for (String s : m.keySet()) {

          System.out.println(s+"\t"+m.get(s));

}

 

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

for (Student s4 : m.values()) {

                          System.out.println(s4.name);

                  }

 

2.迭代器

 

Iterator<Entry<String,Student>> it=s.iterator();

         while(it.hasNext()){

                  Entry<String,Student> s2=it.next();

                  System.out.println(s2.getKey()+"===="+s2.getValue().name);

         }

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

Iterator<String> it1=s3.iterator();

   while(it1.hasNext()){

             String s=it1.next();

             System.out.println(m.get(s).name);

   }

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

Collection<Student> cc= m.values();

          Iterator<Student> it1 =cc.iterator();

          while(it1.hasNext()){

                   Student ss= it1.next();

### 如何正确使用 poi-tl 集合输出字符串 在 Java 中,`poi-tl` 是一个用于操作 Microsoft Word 文档的强大工具库。它允许开发者通过模板方式快速生成复杂的 Word 文件。当涉及到集合输出字符串时,通常会结合 `List` 或其他集合类型的对象来动态填充模板中的占位符。 以下是关于如何正确使用 `poi-tl` 处理集合并输出字符串的具体方法: #### 数据绑定机制 `poi-tl` 支持将 Java 对象映射到 Word 模板中的占位符上。如果需要处理集合类型的数据,则可以通过指定特定的语法结构实现循环渲染。例如,在模板中可以定义如下占位符 `${listItem}` 来表示列表项的内容[^2]。 #### 示例代码 下面是一个完整的示例,展示如何利用 `poi-tl` 将集合转换为字符串形式,并将其嵌入到 Word 文档中。 ```java import cn.afterturn.easypoi.word.WordExportUtil; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class PoiTlExample { public static void main(String[] args) throws Exception { // 创建数据模型 Map<String, Object> dataMap = new HashMap<>(); List<String> stringList = new ArrayList<>(); stringList.add("Apple"); stringList.add("Banana"); stringList.add("Cherry"); // 绑定集合map dataMap.put("fruits", stringList); // 加载模板文件 XWPFDocument document = WordExportUtil.exportWord("template.docx", dataMap); // 输出生成的文档 try (FileOutputStream fos = new FileOutputStream("output.docx")) { document.write(fos); } } } ``` 上述代码片段展示了如何创建一个简单的 Word 文档模板,并通过传递包含字符串集合的对象完成替换工作。其中的关键在于确保模板内的变量名(如 `${fruits}`)实际传入的地图键相匹配。 #### 图片标签注意事项 对于涉及图片的情况需要注意的是,虽然普通的 HTML 标签可能不会被完全支持,但是特殊标记如 `{{@logo}}` 可用来指示程序查找对应的图像资源路径[^3]。因此,若需同时插入文字和图形内容,应遵循此约定设置好关联字段及其值。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值