List、Set的几种打印方式

  1. 直接输出list对象
    ps:此种情况仅限于添加到集合中的对象是java已有类的实例对象。
    java已有类,代码如下:
 List<Object> list = new ArrayList<>();
        Date date1 = new Date();
        Date date2 = new Date();
        String s1 = new String("abc");
        List<String> list1 = new ArrayList<>();
        list1.add("123");
        list1.add("456");
        list.add(date1);
        list.add(date2);
        list.add(s1);
        list.add(list1);
        System.out.println(list);

输出结果如下:
只有java已有类添加到list集合才能直接输出对象的值。若为程序员自定义的类的实例添加到list集合,输出的是对象的引用而不是对象的值(内容)。
自定义类,代码如下:

        Person p1 = new Person("张三");
        Person p2 = new Person("张三   ");
        List<Person> list = new ArrayList<>();
        list.add(p1);
        list.add(p2);
        System.out.println(list);

输出结果如下:
程序员自定义类实例添加到list集合,输出结果。

  1. 通过for循环遍历
    代码如下:
		List<Object> list = new ArrayList<>();
        Date date1 = new Date();
        Date date2 = new Date();
        String s1 = new String("abc");
        List<String> list1 = new ArrayList<>();
        list1.add("123");
        list1.add("456");
        list.add(date1);
        list.add(date2);
        list.add(s1);
        list.add(list1);
        for (int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

结果如下:
在这里插入图片描述

  • 通过新型for循环遍历
    代码如下:
List<Object> list = new ArrayList<>();
        Date date1 = new Date();
        Date date2 = new Date();
        String s1 = new String("abc");
        List<String> list1 = new ArrayList<>();
        list1.add("123");
        list1.add("456");
        list.add(date1);
        list.add(date2);
        list.add(s1);
        list.add(list1);
        for (Object o:list){
            System.out.println(o);
        }

结果如下:
在这里插入图片描述

  • 通过迭代器遍历
    ps:迭代器遍历集合元素遵循的过程:问,取,删
    代码如下:
List<Object> list = new ArrayList<>();
        Date date1 = new Date();
        Date date2 = new Date();
        String s1 = new String("abc");
        List<String> list1 = new ArrayList<>();
        list1.add("123");
        list1.add("456");
        list.add(date1);
        list.add(date2);
        list.add(s1);
        list.add(list1);
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

结果如下:
在这里插入图片描述

for,foreach、Iteractor三种遍历方式的区别:
1. for比较适合实现可预知大小的集合或数组的遍历
2. foreach适合集合或数组大小未知的情况。foreach需要事先知道集合或数组类型。
3. Iterator适合集合大小未知的情况,不需要事先知道集合类型。(Iterator只能遍历集合)
4. 总之,Iterator相比于for、foreach功能更加强大,他可以随时修改或者删除集合内部的元素,并且是在不需要知道元素和集合的类 型的情况下进行的,当你需要对不同的容器实现同样的遍历方式时,迭代器是最好的选择!

以上示例以list为例,Set是一样实现的,实现过程省略。

在TCL语言中,列表(list)是一种基本的数据结构,用于存储一组有序的元素。当我们在创建或操作列表时,并不直接使用特定的字符来表示空格。实际上,在TCL中,列表内的元素是由逗号分隔开的,每个元素之间并没有空格。 如果你看到在某个上下文中列表内似乎包含了空格,这可能是由于以下几个原因: 1. **字符串内部的空格**:如果列表元素是一个字符串,则其中可以包含空格字符。当你打印这个列表时,TCL会正常显示这些字符串内容,包括其中的空格。 示例: ```tcl set my_list {"Hello " "World"} puts $my_list ``` 输出结果将会包含空格: ``` Hello World ``` 2. **外部环境的解释**:在一些情况下,文本编辑器、终端或者其他读取和展示TCL脚本的地方可能会对字符串内的空格做出额外的处理,如自动缩进等,但这不是由TCL语言本身决定的,而是由展示该文本的工具所实施的操作。 为了明确地创建包含空格的列表,你可以直接像上面例子那样操作。如果目的是在程序内部处理这些空格(例如,过滤、替换等),则需要使用适当的TCL命令来操作字符串或列表中的元素。例如,使用`split`命令可以将字符串按照空格分割成多个部分,或将列表转换成以空格分隔的形式: ```tcl set str "Hello World" set words [split $str " "] ;# 分割出每个单词 set list {"This is" "a test"} ;# 已经包含了空格的元素 puts [join $list " "] ;# 使用join组合成单行并保留空格 ``` 在以上示例中,“join”命令允许我们将列表的元素连接起来形成一个字符串,同时保留原有的空格。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值