自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 HashMap初始化的时候赋值

这个块在内部匿名类构造时被执行。这种写法的好处很明显,就是一目了然。但是这种写法可能导致这个对象串行化失败的问题。Java中的HashMap是一种常用的数据结构,一般用来做数据字典或者Hash查找的容器。另外要注意的是,这种使用双括号进行初始化的语法在执行效率上要比普通的初始化写法要稍低。最后,这个使用双括号进行初始化的语法同样适用于ArrayList和Set等集合。这里用了双括号【{{}}】来初始化,使代码简洁易读。第一层括弧实际是定义了一个。,第二层括弧实际上是一个。

2024-04-29 21:02:47 745

原创 Java队列Queue使用详解

不过优先级队列和 LIFO 队列(或堆栈)例外,前者根据提供的比较器或元素的自然顺序对元素进行排序,后者按 LIFO(后进先出)的方式对元素进行排序。Queue 实现通常未定义 equals 和 hashCode 方法的基于元素的版本,而是从 Object 类继承了基于身份的版本,因为对于具有相同元素但有不同排序属性的队列而言,基于元素的相等性并非总是定义良好的。区别:在容量为0的时候,remove()会抛出异常,poll()返回false。相同:容量大于0的时候,删除并返回队头被删除的那个元素。

2024-04-29 20:45:01 1155

原创 Java集合中的Set和Map

其中,Set和Map是两个常用的集合类别,各自具有独特的特点和用途。这使得通过键快速查找对应的值成为可能。HashMap的特点是无序的,但是在JDK 8之后,它引入了红黑树来优化散列碰撞的情况,从而提升性能。LinkedHashSet在HashSet的基础上加入了保持插入顺序的特性,它通过链表维护元素的顺序。因此,当您希望元素保持添加的顺序,同时又要保持独特性,可以考虑使用LinkedHashSet。LinkedHashMap在HashMap的基础上加入了保持插入顺序的特性,它通过链表维护元素的插入顺序。

2024-04-29 17:35:40 1498

原创 map iterator pair priority_queue C++

map是STL(中文标准模板库)的一个关联容器。可以将任何基本类型映射到任何基本类型。如int array[100]事实上就是定义了一个int型到int型的映射。map提供一对一的数据处理,key-value键值对,其类型可以自己定义,第一个称为关键字,第二个为关键字的值map内部是自动排序的。

2023-09-20 10:32:45 143 1

原创 Lambda表达式 C++

lambda 来源于函数式编程的概念,也是现代编程语言的一个特点。C++11 终于把 lambda 加入了进来。声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性。简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散,让开发者更加集中精力在手边的问题,同时也获取了更高的生产率。在需要的时间和地点实现功能闭包,使程序更灵活。lambda 表达式定义了一个匿名函数,并且可以捕获一定范围内的变量。其中。

2023-09-15 16:35:52 145 1

原创 正则表达式 C++

假如有多个子串符合模式,若想知道result[0]中存储的是第几个子串,可以用result.position()函数,返回数从0开始。字符串处理常用的一个操作是「匹配」,即字符串和规则恰好对应,而用于匹配的函数为std::regex_match(),它是个函数模板。对字符串data中与模式匹配的所有子串进行相应的字符串替换,替换字符串引用匹配子串中的内容,引用方法如下。,也是个函数模板,用法和regex_match一样,不同之处在于「搜索」只要。「搜索」与「匹配」非常相像,其对应的函数为。

2023-09-12 11:52:43 64 1

原创 图、深搜(DFS)和广搜(BFS) 数据结构篇-2

DFS是可用于遍历树或者图的搜索算法,DFS与回溯法类似,一条路径走到底后需要返回上一步,搜索第二条路径。在树的遍历中,首先一直访问到最深的节点,然后回溯到它的父节点,遍历另一条路径,直到遍历完所有节点。图也类似,如果某个节点的邻居节点都已遍历,回溯到上一个节点。深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。一般用栈数据结构来辅助实现DFS算法。根据深度优先搜索的特点,采用递归函数实现比较简单。

2023-09-10 13:02:39 285 1

原创 二叉树前序遍历,中序遍历,后序遍历 数据结构篇-1

一棵二叉树由根结点、左子树和右子树三部分组成,若规定 D、L、R 分别代表遍历根结点、遍历左子树、遍历右子树,则二叉树的遍历方式有 6 种:DLR、DRL、LDR、LRD、RDL、RLD。除了下面的递归实现,还有一种使用栈的非递归实现。因为递归实现比较简单,且容易关联到前中后,所以。(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 )(根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面)(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)

2023-09-08 19:21:57 54 1

原创 HTTP HTTP状态码 GET和POST 计算机网络篇-3

一般是不超过1024个字节,而这种说法也不完全准确,HTTP协议并没有设定URL字节长度的上限,而是浏览器做了些处理,所以长度依据浏览器的不同有所不同;,无副作用的,是幂等的,且可缓存,请求的数据会附加在URL之后,以?,比如密码是不能暴露的,就不能使用GET请求 , 而POST请求中,请求参数信息是放在请求头的,所以安全性较高,可以使用。,有副作用,非幂等,不可缓存,POST请求会把请求的数据放置在HTTP请求包的包体中。因此,GET请求的数据会暴露在地址栏中,所以。而POST请求则不会。

2023-09-07 19:29:17 41

原创 网络分层结构 计算机网络篇-2

TCP/IP与OSI最大的不同在于:OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。TCP/IP五层模型:应用层、传输层、网络层、数据链路层、物理层。一般面试的时候考察比较多的是。计算机网络体系大致分为三种,TCP/IP四层模型。TCP/IP体系结构。TCP/IP体系结构。

2023-09-05 14:09:04 28

原创 滑动窗口 计算机网络篇-1

比如,ACK 600 确认应答报文丢失,也没关系,因为可以通过下一个确认应答进行确认,只要发送方收到了 ACK 700 确认应答,就意味着 700 之前的所有数据「接收方」都收到了。当发送方把数据「全部」都一下发送出去后,可用窗口的大小就为 0 了,表明可用窗口耗尽,在没收到 ACK 确认之前是无法继续发送数据了。:是一个指针,它指向期望从发送方发送来的下一个数据字节的序列号,也就是 #3 的第一个字节。发送方发送的数据大小不能超过接收方的窗口大小,否则接收方就无法正常接收到数据。

2023-09-03 19:44:34 112

原创 滑动窗口 C++

所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。也可以理解为一种双指针的做法。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-09-03 17:15:06 298

原创 十大排序算法 C++版

其实十大排序算法都数据内部排序,归并排序常用于外部排序。

2023-09-02 22:10:23 28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除