list和set、map的差别迭代器读取数据

package collectiondemo;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class TestIt {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //常见的集合(线性的集合)
        //List接口就是线性存储的接口,并且是有序的
        //实现线性的存储的接口的继承类:ArrayList,LinkedList,Vetor
        //ArrayList是类似于数组的存储,可以直接通过索引访问
        List<Integer> list = new ArrayList<Integer>();
        list.add(12);
        list.add(23);
        list.add(34);
        list.add(19);
        list.add(26);
        //LinkedList读取是通过链接点来读取的,读取效率较ArrayList低
        //ArrayList读取数据效率高,但是对于的数据的删除和增加比LinkedList效率低
        list= new LinkedList<Integer>();
        list.add(12);
        list.add(23);
        list.add(34);
        list.add(19);
        list.add(26);
        System.out.println(list.get(2));
        //Vetor的效率介于前两者之间的。它的是线程安全的。

    }

}
package collectiondemo;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TestIt2 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //Set和Map的存储方式,两者都是无序的存储(底层都是无序的)
        //非线性存储的是不能通过索引访问
        //无序不是按放进去的顺序读取的,按照hash的算法来排序的
        //是不能存放重复的元素
        Set<Integer> mysets = new HashSet<Integer>();
        mysets.add(12);
        mysets.add(23);
        mysets.add(9);
        mysets.add(15);
        mysets.add(15);
        //访问非线性的需要迭代器
        Iterator<Integer> its = mysets.iterator();
        while(its.hasNext()){
            System.out.println(its.next());
        }
        //map的底层也是set,只是它的键是按照set无序存储的,也是不能重复的
        Map<String,Integer> stumaps = new HashMap<String,Integer>();
        stumaps.put("张三", 12);
        stumaps.put("李四", 22);
        stumaps.put("王五", 32);
        Set<String> keys= stumaps.keySet();
        Iterator<String> keyits = keys.iterator();
        while(keyits.hasNext()){
            String key =keyits.next();
            Object objvalue = stumaps.get(key);//通过键得到值
            System.out.println("键:"+key+",值:"+objvalue);
        }
    }

}
时间: 2024-11-07 00:55:18

list和set、map的差别迭代器读取数据的相关文章

TensorFlow高效读取数据的方法——TFRecord的学习

关于TensorFlow读取数据,官网给出了三种方法: 供给数据(Feeding):在TensorFlow程序运行的每一步,让python代码来供给数据. 从文件读取数据:在TensorFlow图的起始,让一个输入管线从文件中读取数据. 预加载数据:在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). 对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练(tip:使用这种方法时,结合yeild 使用更为简洁).但是如果数据量较

struts2中从后台读取数据到&lt;s:select&gt;

看到网上好多有struts2中从后台读取数据到<s:select>的,但都 不太详细,可能是我自己理解不了吧!所以我自己做了 一个,其中可能 有很多不好的地方,望广大网友指出 结果如图 public class Books implements java.io.Serializable { // Fields private String bookId; private String bookType; private String bookName; private String bookA

android SharedPreferences简单应用 插入数据 读取数据

package com.sharedpreference; import java.text.SimpleDateFormat; import java.util.Date; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.view.Menu; import android.view.View; import androi

向值栈中存放数据与从值栈中读取数据

一.set方法方式 1.使用set方法存数据 public class GetValueStackAction extends ActionSupport{ //使用值栈的get方法往值栈中存数据 public String execute(){ //1获取ActionContext对象 ActionContext ctx = ActionContext.getContext(); //2.获取ValueStack对象 ValueStack vs =ctx.getValueStack(); /*

Hadoop学习笔记0003——从Hadoop URL读取数据

Hadoop学习笔记0003--从Hadoop URL读取数据 从HadoopURL读取数据   要从Hadoop文件系统中读取文件,一个最简单的方法是使用java.net.URL对象来打开一个数据流,从而从中读取数据.一般的格式如下: InputStream in = null; try { in = new URL("hdfs://host/path").openStream(); // process in } finally { IOUtils.closeStream(in);

创建spark_读取数据

在2.0版本之前,使用Spark必须先创建SparkConf和SparkContext,不过在Spark2.0中只要创建一个SparkSession就够了,SparkConf.SparkContext和SQLContext都已经被封装在SparkSession当中. 在与spark2.0交互之前必须先创建spark对象 val Spark = SparkSession .builder() .master(masterUrl) .appName(appName) .config("spark.s

ISO14229 根据标识符读取数据ReadDataByIdentifier(22 Hex) service

ReadDataByIdentifier(22 Hex) service 根据标识符读取数据 例子: req=88 18 DA 00 F1 03 22 F1 20 00 00 00 00 res=88 18 DA F1 00 10 0F 62 F1 20 33 36 30 req=88 18 DA 00 F1 30 00 0A 00 00 00 00 00 res=88 18 DA F1 00 21 31 36 31 31 2D 35 32 res=88 18 DA F1 00 22 45 58

Hadoop之多行读取数据

一,需求: 在map执行前,即setInputFormatClass过程,会进行数据的读入,默认的是每次读入一行数据,进行计算.现在需要改成每次读入两行数据并且合并结果输出. 二,思路及解决方法: 建议先看看他们的源码,理解思路. 我这里是采用的TextInputFormat.class的输入格式.它的key是每一行的偏移位置,value就是它这一行的内容.其中有创建LineRecordReader类,它就是用来读取数据的封装类,我们需要重写它. 在LineRecordReader类中,观察出其

SharedPreferences存储和读取数据

除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences对象 二.利用ed