Set,list,map

2023-05-16

Set:

Set集合的特点:元素不重复,存取无序,无下标
Set集合下面有:HashSet,LinkedHashSet,TreeSet

HashSet存储字符串:

package com.mrtiang.Set;

import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Settest {

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		 Map map = new HashMap();
		    map.put("key1","lisi1");
		    map.put("key2","lisi2");
		    map.put("key3","lisi3");
		    map.put("key4","lisi4"); 

		    //先获取map集合的所有键的set集合,keyset()
//		    Iterator it = map.keySet().iterator();
//		    //获取迭代器
//		    while(it.hasNext()){
//		        Object key = it.next();
//		        System.out.println(map.get(key));
//		    }
		    /**
		     * 遍历set集合
		     * 
		     */
		    //遍历key
		    System.out.println(map.keySet());
		    //遍历values
		    System.out.println(map.values());
		    //遍历key——values
		    System.out.println(map.entrySet());
		    
		    
//		    Collection<String> vs = map.values();
//	        Iterator<String> it = vs.iterator();
//	        while (it.hasNext()) {
//	            String value = it.next();
//	            System.out.println(" value=" + value);
//	        }
		    
		    
		    String[] string = new String[]{"data","to"};
		    List<String> list = Arrays.asList(string);
		    
		    System.out.println(list);
		
	}

}

List:

下面有ArrayList,LinkedList,Vector(已过时)

集合的的最大目的就是为了存取;List集合的特点就是存取有序,可以存储重复的元素,可以用下标进行元素的操作

package com.mrtiang.Set;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 数组形式的实现类ArrayList
 * @author Administrator
 *
 */

public class Listtest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//运用到泛型方式规定集合元素类型
		List<String> sr1=new ArrayList<String>();
		//添加元素
		sr1.add("小明");
		sr1.add("德华");
		sr1.add("莲英");
		List<String> sr=new ArrayList<String>();
		//添加元素
		sr.add("小明");
		sr.add("刘德华");
		sr.add("李莲英");
		
		sr.add(3, "霍建华");
		//删除元素通过下标
		sr.remove(2);
		//删除另一个集合元素
		sr.removeAll(sr1);
		
		
		
		//遍历集合递归法
		Iterator<String> li=sr.iterator();
		while(li.hasNext()){
//			String next=li.next();
//			System.out.println(next);
			
			System.out.println(li.next());
		}
		System.out.println("---------------------------------");
		//foreach
		/**
		 * for(元素类型type 元素变量x : 遍历对象obj){
		 * 引用了x的java语句;
		 * }
		 * 在java中的语法:for(type x : collection){}
		 * //在collection中遍历每一个对象,对象是type类型的x
		 */
		
		for(String str:sr){
			
			System.out.println(str);
		}
		
		
	}

}

ArrayList: 底层是使用数组实现,所以查询速度快,增删速度慢

LinkedList:是基于链表结构实现的,所以查询速度慢,增删速度快,提供了特殊的方法,对头尾的元素操作(进行增删查)。

使用LinkedList来实现栈和队列;栈是先进后出,而队列是先进先出

package com.mrtiang.Set;

import java.util.LinkedList;

/**
 * 模拟栈的特点进行操作
 * 链表Linkedlist
 * @author Administrator
 *
 */

//定义一个栈类型的linkedlist
class MyStack {
    private LinkedList<String> linkList = new LinkedList<String>();
    
    // 压栈
    public void push(String str){
    	//添加元素
        linkList.addFirst(str);
    }
    
    // 出栈
    public String pop(){
    	//删除元素
        return linkList.removeFirst();
    }
    
    // 查看
    public String peek(){
        return linkList.peek();
    }
    
    // 判断是否为空
    public boolean isEmpty(){
        return linkList.isEmpty();
    }
}

public class LinkedlistTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 MyStack stack = new MyStack();
	        stack.push("我是第1个进去的");
	        stack.push("我是第2个进去的");
	        stack.push("我是第3个进去的");
	        stack.push("我是第4个进去的");
	        stack.push("我是第5个进去的");
	        // 取出
	        while (!stack.isEmpty()){
	            String pop = stack.pop();
	            System.out.println(pop);
	        }
		
		
	}

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Set,list,map 的相关文章

  • Ruby 枚举器链接

    在这个例子中 1 2 3 each with index map i j i j gt 0 2 6 我的理解是 既然each with index枚举器链接到map map表现得像each with index通过在块内传递索引 并返回一个
  • Python 字符串到 SQL IN 参数的列表

    我在 python 中有这个查询 ssim group S1200 S1300 query select WIPMessageCnt from waferdata where recipename in s and equipment an
  • 在 Python 中使用列表理解来执行类似于 zip() 的操作?

    我是一名 Python 新手 我想做的事情之一就是围绕列表理解进行思考 我可以看到这是一个非常强大的功能 值得学习 cities Chicago Detroit Atlanta airports ORD DTW ATL print zip
  • 根据多个值过滤字典列表

    我有一个字典列表 我想根据多个条件进行过滤 该列表的简化版本如下所示 orders name v price 123 location Mars name x price 223 location Mars name x price 124
  • Android 动态添加联系表单

    Hi 我想实现如图所示的表单 不知道他们如何动态添加字段 这是列表视图吗 可扩展列表 用户可以在运行时添加和删除 我已经检查了包含子项目的可扩展列表 但我们在数组中定义子元素 在图像中它们动态添加 任何指南 链接 Thanks Custom
  • 如何在python中合并具有相同键的嵌套字典

    我有一个这样的数据结构 SNAPSHOT SnapshotVersion 304 SNAPSHOT SnapshotCreationDate 2015 06 21 17 33 41 CafeData CafeVersion 2807 Caf
  • 从通用列表中删除项目

    我有以下方法 我希望从我的收藏中删除与产品 ID 匹配的项目 看起来相当简单 但我有一个例外 基本上我的收藏已经不同步了 那么从集合中删除项目的最佳方法是什么 public void RemoveOrderItem Model Order
  • Python - 如何将列表保存为图像?

    我生成一个常规列表 是否可以将此列表保存为 JPEG 图像或 PNG 或其他格式 以便我可以打开图像并查看它 我目前正在尝试使用 python 成像库 PIL 来解决这个问题 这是可能的解决方案之一 使用以下方法创建一个空图像对象 Imag
  • dict_values 视图什么时候可以像设置一样(以及为什么)?

    文档说值视图不被视为类似集合 https docs python org 3 library stdtypes html dictionary view objects 但有时它们是 gt gt gt d 1 1 gt gt gt d va
  • 在Python中创建N*N*N列表时出现问题

    我正在尝试创建一个 3 维 NNPython 中的 N 列表 如下所示 n 3 l 0 n n n 不幸的是 这似乎没有正确地 克隆 列表 正如我所想的那样 gt gt gt l 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • 省略号列表[...]并将列表连接到自身[重复]

    这个问题在这里已经有答案了 EDIT 我在最初的例子中很粗心 当我添加列表时不会发生该行为A本身 而是当我添加一个列表时含有 list A to A本身 请参阅下面更正的示例 我试图理解省略号如何列出 那些显示为 当你有一个列表引用本身时发
  • 根据 Mathematica 中的另一个列表值拆分列表

    在 Mathematica 中我有一个点坐标列表 size 50 points Table RandomInteger 0 size RandomInteger 0 size i 1 n 以及这些点所属的聚类索引列表 clusterIndi
  • 以特定方式填充列表

    我需要填充一个包含 5 个位置的列表 new list 我收到 2 个列表 并且有一个默认值来填充新列表 现在开始解决问题 好的方式是 我从列表中接收 2 个值 从列表中接收 2 个值并添加默认值 A1 A2 DEFAULT B1 B2 但
  • 我想将对象列表添加到 firestore 文档中,-flutter

    我想将对象列表添加到 firestore 文档 我定义了产品数据模型 我还有类别数据模型 我想将类别列表添加到 firestore 中的产品文档中 我将类别添加到临时列表 然后将值放入product categories 产品 类别 类别t
  • 在不同进程之间共享列表?

    我有以下问题 我编写了一个函数 它将列表作为输入 并为列表中的每个元素创建一个字典 然后我想将这本字典附加到一个新列表中 这样我就得到了一个字典列表 我正在尝试为此生成多个进程 我的问题是 我希望不同的进程访问由其他进程更新的字典列表 例如
  • 如何在 Java 中获得列表的反向列表视图?

    我想在列表上有一个反向列表视图 与List sublist提供列表上的子列表视图 是否有一些函数可以提供此功能 我不想复制该列表 也不想修改该列表 在这种情况下 如果我能在列表上至少获得一个反向迭代器就足够了 另外 我知道如何自己实现这一点
  • C# 如何单击 IList 中的 IWebelement?

    所以我尝试单击 YouTube 上的按钮 但我无法通过 Xpath 找到该按钮 因为按钮太多 所以我尝试将它们保存在 IList 中 现在我想单击列表中的特定按钮 ChromeDriver chrome new ChromeDriver L
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • 按多个键分组并对字典列表的值进行汇总/平均值

    在Python中按多个键进行分组并对字典列表进行汇总 平均值的最Pythonic方法是什么 假设我有一个字典列表 如下所示 input dept 001 sku foo transId uniqueId1 qty 100 dept 001
  • 如何正确删除动画集中引用的 Raphael SVG 元素?

    我有一组动画 Raphael SVG 元素 我正在通过用户发起的 ajax 调用添加新元素并删除旧元素 我 set push 新元素 但因为我需要删除的元素通常不是集合中的最后一个元素 所以我使用 element remove 而不是 se

随机推荐

  • 多元线性回归模型_多元线性回归模型的假设、检验及修正

    多元线性回归模型是社会科学中常用的模型 xff0c 但其实这个模型有很多的要求 xff0c 在应用模型前必须要了解背后的假设 xff0c 然后来判断在自己的变量上应用这个模型是否适切 xff0c 如果某些地方有违背 xff0c 我们可以通过
  • 计算机round是什么函数,round函数怎么用例子

    导读 xff1a 34 Round函数怎么用 34 的相关电脑教程分享 来源 xff1a 191路由网 首先启动excel软件 xff0c 打开一份事先准备需要设置四舍五入的数据 选择单元格d2 xff0c 点击插入函数 xff0c 调出插
  • wifi 文件服务器异常,wifi云服务器异常

    wifi云服务器异常 内容精选 换一换 当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况 xff0c 则可能是云服务器的带宽和CPU利用率过高导致 如果您已经通过云监控服务创建过告警任务 xff0c 当CPU或带宽利用率高时
  • es 本地上传文件ftp服务器,es本地上传文件ftp服务器

    es本地上传文件ftp服务器 内容精选 换一换 从本地上传日志文件 xff0c 是指从浏览器所在机器选择日志文件并上传 目前只支持选择 log的日志文件 xff0c 如果日志文件中包含其他格式文件 xff0c 则导入时会提示格式错误 xff
  • hp服务器 高性能计算,HP Gen8:为提升数据中心效率而生

    ZDNet至顶网服务器频道 5月21日 北京报道 文 孟庆 xff1a 距离惠普发布新一代Gen8服务器已经过去快两个月的时间了 对于HP ProLiant Gen8的很多新特性 xff0c 业界也在这期间展开了很多讨论和评测 前不久 xf
  • 【rustdesk】rustdesk-server-go

    安装go windows go span class token assign left variable GOPROXY span span class token operator span https goproxy cn direc
  • Linux 多版本php切换

    php开发者经常会遇到这种情况 xff0c 开发用的语言有时是5 3 xff0c 有时是5 6 总不能每次切换版本都要重新安装一次php吧 还好有解决方案 xff0c 就是在系统中编译多个版本的php xff0c 在切换时只需要修改一下快捷
  • 计算机无法连接到打印机主机,电脑连接不上打印机怎么办

    我们工作的时少不了使用打印机 xff0c 可是出现打印机无法连接是怎么回事呢 电脑连接不上打印机怎么办呢 小编为大家介绍一下解决电脑连接不上打印机的具体操作步骤 xff0c 下面大家跟着学习啦一起来了解一下吧 电脑连接不上打印机解决方法 第
  • FTPClient.changeWorkingDirectory()无法进入中文目录

    背景 xff1a 访问ftp xff0c 抽取数据 在访问中文文件夹的时候 xff0c FTPClient changeWorkingDirectory 返回false 查询资料连接 xff1a FTPClient changeWorkin
  • 《算法导论》习题5.3-1 ~ 5.3-7

    算法导论 习题 5 3 1 5 3 7 5 3 5 带星号我抄了一下题目 5 3 6 比较有意思我抄了一下题目 其他的题可以自己对照书 原书第三版 5 3 1 直接考虑第2次循环前 第1次循环后第1个位置的元素是原集合1 n中任意一个元素的
  • 如何搭建spring环境

    起因 今天领导丢给了一个spring 43 flink 43 kafka 43 clickhouse的项目代码 xff0c 这个代码里面已经搭好了框架 xff0c 具体的业务逻辑要从另一套storm 43 kafka 43 elastics
  • LeetCode热题100关于二叉树的题目整理(待更)

    对称二叉树 xff08 simple难度 xff09 https leetcode cn com problems symmetric tree 与本题相同题目 剑指offer28 对称的二叉树 本文思路及解法参考了 剑指offer28 对
  • vscode保存代码,自动按照eslint规范格式化代码设置

    安装 eslint 插件打开用户配置 文件 gt 首选项 gt 设置 搜索setting json填写如下配置 span class token punctuation span span class token string 34 wor
  • React Native 文件“launchPackager.command”无法执行,因为您没有正确的访问权限。

    launchPackager command没有执行权限 请注意chmod 755 后面的路径是你本机launchPackager command的路径 chmod 755 Users huieryun Work newretail o2o
  • Missing essential plugin: org.jetbrains.android Please reinstall Android Studio from scratch

    Missing essential plugin org jetbrains android Please reinstall Android Studio from scratch macos在终端输入 xff1a rm Rf Libra
  • java多态

    多态 1 定义 多态是同一个行为具有多个不同表现形式或形态的能力 多态就是同一个接口 xff0c 使用不同的实例而执行不同操作 它是指在父类中定义的属性和方法被子类继承之后 xff0c 可以具有不同的数据类型或表现出不同的行为 xff0c
  • Java对象的eqauls方法和hashCode方法

    简而言之 xff0c 在集合查找时 xff0c hashcode能大大降低对象比较次数 xff0c 提高查找效率 xff01 Java对象的eqauls方法和hashCode方法是这样规定的 xff1a 1 相等 xff08 相同 xff0
  • 【rustdesk】windows安装vcpkg及配置, rustdesk 客户端依赖库安装

    https github com microsoft vcpkg VCPKG ROOT VCPKG DEFAULT TRIPLET X VCPKG ASSET SOURCES 放入环境变量 G ISOFT vcpkg vcpkg VCPKG
  • test

    1 为什么要有类的继承性 类的继承性可以减少代码冗余度 xff0c 提高代码复用性 xff0c 提高代码操作效率 2 继承的格式 xff08 语法 xff09 子类 extends 父类 3 子类继承父类后有哪些不同 子类范围大于父类 xf
  • Set,list,map

    Set Set集合的特点 xff1a 元素不重复 xff0c 存取无序 xff0c 无下标 Set集合下面有 xff1a HashSet xff0c LinkedHashSet xff0c TreeSet HashSet存储字符串 span