大数据-Map笔记

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: set底层是默认value的mapMap的常用方法//介绍Map接口的方法Map map = new HashMap<>();//1.增加//V put(K key,V value) 增加一个键值对//关于返回值,如果当前的key之前没有添加过,返回null.

set底层是默认value的map

Map的常用方法

//介绍Map接口的方法

Map map = new HashMap<>();

//1.增加

//V put(K key,V value) 增加一个键值对

//关于返回值,如果当前的key之前没有添加过,返回null.如果当前的key之前已经存在了,这里返回之前的值

//void putAll(Map<? extends K,? extends V> map) 增加多个

//2.删除

//V remove(Object key) 根据key删除元素

//返回值就是被删掉的值

//void clear() 删除全部 != null

//3.获取

//V get(Object key) 根据key查找元素

//int size() 获取键值对的个数

//Set keySet() 遍历方法一

//Set> entrySet() 遍历方法二

//4.常用的判断

//boolean isEmpty() //空map!=null

//boolean containsKey(K key) 是否包含当前的key

//boolean containsValue(V value) 是否包含当前的value

一、HashMap

​ 底层是哈希表,线程不安全

哈希表结构

2.HashMap与HashTable区别

​ 1.HashTable是线程安全的

​ 2.HashTable的key不能为空

二、TreeMap

​ 底层是二叉树,线程不安全

/*

  • TreeMap的注意点:
  • 1.什么类型的数据类型可以作为key?
  • a:实现了Comparable接口的compareTo()方法 b:实现了Comparator接口的compare()方法
  • 可以的代表:String,包装类,自定义的实现了要求的类
  • 不可以的代表:数组,ArrayList,LinkedList(如果给他们建立的比较器也可以比较,但是不建议使用)

*

  • 2.元素可不可以作为key,跟元素内部的成员有没有关系
  • 元素可不可以作为key,跟元素内部的成员有没有关系

*/

public class Demo5 {

public static void main(String[] args) {

TreeMap map = new TreeMap<>();

//如果没有重写compareTo或者compare方法,put内部无法调用元素的这两个方法.所以会报错

map.put(new Dog(), "haha");

}

}

class Dog implements Comparable{

//2.元素可不可以作为key,跟元素内部的成员有没有关系

Object object;

@Override

public int compareTo(Dog o) {

// TODO Auto-generated method stub

return 0;

}

}


# 可变参数

public static void main(String[] args) {

sum(2, 3);//值传递

//址传递

int[] arr = {3,4,5};

sum(arr);

//可变参数

//可变参数的特点

//1.给可变参数传值的实参可以直接写,个数不限制,内部会自动的将他们放入可变数组中.

sum1(5,6,7,8,9,3,3,4);

//2.当包括可变参数在内有多个参数时,可变参数必须放在最后面,并且一个方法中最多只能有一个可变参数

sum2(6,3);

//3.当可变参数的方法与固定参数的方法是重载关系时,调用的顺序,固定参数的优先于可变参数的.

sum3(2,3);

}

//求两个数的和

//值传递

public static int sum(int a,int b) {

return a+b;

}

//址传递

public static int sum(int[] a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

return sum;

}

//通过可变参数

//构成:数据类型+... 实际上就是数据类型[] 即:int[]

public static int sum1(int... a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

return sum;

}

//2.当包括可变参数在内有多个参数时,可变参数必须放在最后面,并且一个方法中最多只能有一个可变参数

public static void sum2(float b,int... a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

System.out.println(sum);

}

//3.当可变参数的方法与固定参数的方法是重载关系时,调用的顺序,固定参数的优先于可变参数的.

public static int sum3(int a, int b) {

System.out.println("a");

int sum = 0;

return sum;

}

public static int sum3(int... a) {

System.out.println("b");

int sum = 0;

return sum;

}

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1月前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
116 5
|
1月前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
68 4
|
3月前
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
|
5月前
|
存储 分布式计算 DataWorks
MaxCompute产品使用合集之要存储用户的下单所有产品,然后查询时要进行产品分组的,一般这种字段要使用ARRAY还是MAP
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
C++ 索引 容器
黑马c++ STL部分 笔记(9) map/multimap容器
黑马c++ STL部分 笔记(9) map/multimap容器
|
前端开发
前端学习笔记202306学习笔记第三十八天-手写map2
前端学习笔记202306学习笔记第三十八天-手写map2
122 0
前端学习笔记202306学习笔记第三十八天-手写map2
|
6月前
|
JavaScript 前端开发 测试技术
[小笔记]TypeScript/JavaScript模拟Python中的zip(不使用map)
[小笔记]TypeScript/JavaScript模拟Python中的zip(不使用map)
46 0
ES6系列笔记-数组方法map(映射)
ES6系列笔记-数组方法map(映射)
43 1
|
6月前
|
存储 前端开发 索引
前端知识笔记(三)———Map和Set有什么区别?
前端知识笔记(三)———Map和Set有什么区别?
120 0
|
6月前
|
存储 缓存 NoSQL
大数据 | HDFS 元数据持久化笔记
大数据 | HDFS 元数据持久化笔记
175 0