菜鸟随身笔记

2024-04-27 18:32
文章标签 笔记 菜鸟 随身

本文主要是介绍菜鸟随身笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.常见String类的获取功能
public int length(): 获取字符串的长度。
public char charAt(int index): 获取指定索引位置的字符
public int indexOf(int ch): 返回指定字符在此字符串中第一次出现处的索引。
public int indexOf(String str): 返回指定字符串在此字符串中第一次出现处的索引。
public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
public int indexOf(String str,int fromIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
public String substring(int start): 从指定位置开始截取字符串,默认到末尾。
public String substring(int start,int end): 从指定位置开始到指定位置结束截取字符串。
2.常见String类的判断功能
public boolean equals(Object obj): 比较字符串的内容是否相同,区分大小写
public boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,忽略大小写
public boolean contains(String str): 判断字符串中是否包含传递进来的字符串
public boolean startsWith(String str): 判断字符串是否以传递进来的字符串开头
public boolean endsWith(String str): 判断字符串是否以传递进来的字符串结尾
public boolean isEmpty(): 判断字符串的内容是否为空串""。
3.常见String类的转换功能
public byte[] getBytes(): 把字符串转换为字节数组。
public char[] toCharArray(): 把字符串转换为字符数组。
public static String valueOf(char[] chs): 把字符数组转成字符串。
public static String valueOf(int i): 把int类型的数据转成字符串。(String类的valueOf方法可以把任意类型的数据转成字符串。)
public String toLowerCase(): 把字符串转成小写。
public String toUpperCase(): 把字符串转成大写。
public String concat(String str): 把字符串拼接。
4.常见String类的其他常用功能
public String replace(char old,char new) 将指定字符进行互换
public String replace(String old,String new) 将指定字符串进行互换
public String trim() 去除两端空格
public int compareTo(String str) 会对照码表 从第一个字母进行减法运算 返回的就是这个减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果,如果连个字符串一摸一样 返回的就是0
public int compareToIgnoreCase(String str) 跟上面一样 只是忽略大小写的比较

String类提供大量的操作字符串方法,常用如下:
获得字符串的长度:length()
比较字符串:concat()
连接字符串:substring()
提取字符串:substring()
搜索字符串:indexOf()
拆分字符串:split()
常用的StringBuffer方法如下:
转换成String类型:toString()
连接字符串:append();
插入字符串:insert();
int和Integer如何相互转化
例:
int到Integer:
int a=66; Integer A=new Integer(a);
或: Integer A=Integer.valueOf(a);
Integer到int:
Integer A=new Integer(66);
int a=A.intValue();
stack相关函数
empty() 测试堆栈是否为空。
peek() 查看堆栈顶部的对象,但不从堆栈中移除它。
pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。
push(E item) 把项压入堆栈顶部。
search(Object o) 返回对象在堆栈中的位置,以 1 为基数。

强制类型转换
1 ) 整数 int 转换成字串 String , 有三种方法 :
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = “” + i;
2 ) String 转 int
int i = Integer.parseInt([String]);
i = Integer.parseInt([String],[int radix]);
int i = Integer.valueOf(my_str).intValue();
3 ) 布尔类型 转 String
1. 第一种方法
boolean bool = true;
String s = new Boolean(bool).toString();//将bool利用对象封装器转化为对象
2. 第二种方法
boolean bool = true;
String s = String.valueOf( bool );
4 ) String 转 Date
1 . 导入 java.util.Date date=null;
2 . date=java.sql.Date.valueOf(String s);
5 ) 数字类型间的转换
转型有两种: 向上转型和向下转型(强制转型)
两种分别如下:
第一种是向上转型
对于基础数据类型 , 可以自动转型 ,比如:
int a = 10;
long b = a;
这里就是把int型转成了long型 , 因为 long范围比int大 , 这样的转型不会有任何影响 , 所以可以自动转型
第二种是向下转型 , 也就是强制
这种需要强转 , 比如
long a = 10 ;
int b = (int) a;
通过 (int)可以强制转型 , 但是这样会丢失精度 , 比如a如果超过了b的范围 , 那么强转成int型, 只会等于int的最大值
又如 : int a = ( int ) 8.8 ;
6)char转Int
System.out.println("method 2: " + numChar + “:” + Character.getNumericValue(numChar));

集合常用api
1 Collection中的常用方法
boolean add(E e) - 用于将元素e放入当前集合中。
boolean addAll(Collection<? extends E> c)
- 用于将参数指定集合中的所有元素放入当前集合中。
boolean remove(Object o)
- 用于从当前集合中删除参数指定的元素。
boolean removeAll(Collection<?> c)
- 用于从当前集合中删除参数指定集合中的所有元素。
void clear()
- 用于将当前集合中的所有元素移除。
boolean contains(Object o)
- 用于判断当前集合中是否包含参数指定的单个元素。
- (onull ? enull : o.equals(e))
boolean containsAll(Collection<?> c)
- 用于判断当前集合中是否包含参数指定集合中的所有元素。
boolean isEmpty() - 用于判断当前集合是否为空。
int size() - 用于返回当前集合中元素的个数。
boolean retainAll(Collection<?> c)
- 用于获取当前集合和参数集合的交集并保留到当前集合中。
- 若当前集合中的内容发生了更改则返回true,否则返回false。
2 List集合常用的方法
void add(int index, E element)
- 用于将元素element插入到当前集合中index指向的位置。
boolean addAll(int index, Collection<? extends E> c)
- 用于将集合c中所有元素插入到当前集合中index指向的位置。
E remove(int index)
- 用于将index位置的元素从当前集合移除。
- 返回被删除的元素值,下标不合理时会产生下标越界异常。
E set(int index, E element)
- 使用element元素替换当前集合中index位置的元素,返回被替换的元素。
E get(int index)
- 用于返回当前集合中下标为index位置的元素。
List subList(int fromIndex, int toIndex)
- 用于返回当前集合中从fromIndex(包含)到toIndex(不包含)之间的部分视图。
- 返回的集合和当前集合共用同一块内存区域。
3 Queue接口常用的方法
boolean offer(E e) - 将参数指定的元素e插入到当前队列的末尾。
- 若插入成功则返回true,否则返回false。
E poll() - 用于从当前队列的队首移除一个元素并返回。
- 若当前队列为空,则返回null。
E peek() - 用于获取当前队列的队首元素并返回。
- 若当前队列为空,则返回null
4 Set接口常用的方法
该接口的常用方法参考Collection接口即可。
Iterator iterator() - 用于获取当前集合中的迭代器,用于迭代集合中的所有元素。
- 迭代就是遍历/访问的意思,通俗来说,使用该方法的返回值可以访问集合任意元素
Iterator接口中的常用方法有:
boolean hasNext() - 用于判断当前集合中是否拥有可以访问的元素。
E next() - 获取一个元素返回后并指向下一个元素。
void remove() - 用于删除集合中刚刚获取到的元素。
5 Map接口常用的方法
V put(K key, V value) - 用于将参数指定的key和value组成一对放入当前集合中。
- 增加key和value时则返回null,修改key和value时则返回key之前对应的value。
V remove(Object key) - 用于从当前集合删除key关联的键值对。
- 若key不存在则返回null,否则返回key对应的value。
boolean containsKey(Object key)
- 用于判断当前集合中是否存在参数指定的key。
boolean containsValue(Object value)
- 用于判断当前集合中是否包含参数指定的value。
V get(Object key)
- 用于根据参数指定的key来返回对应的value。
Set<Map.Entry<K,V>> entrySet()
- 用于返回当前集合中包含映射关系的Set视图,通俗来说,就是把Map转换为Set。
Set keySet()
- 用于返回当前集合中包含key的Set视图。
java.util.Map.Entry<K,V>接口代表键值对,提供的方法有:
K getKey() - 用于获取当前键值对中key的数值并返回。
V getValue() - 用于获取当前键值对中value的数值并返回。
map.getOrDefault(Object key,V defaultValue) 当集合中没有key的时候,默认使用defaultValue值

Arrays.sort
1、Arrays.sort(int[] a)
这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。
2、Arrays.sort(int[] a, int fromIndex, int toIndex)
这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序哦
10进制转化其他进制
10进制转2进制 Integer.toBinaryString(n); 一个二进制字符串.
10进制转8进制 Integer.toOctalString(n); 一个八进制字符串
10进制转16进制 Integer.toHexString(n); 一个16进制字符串
10进制转 r 进制 Integer.toString(100, 16); 一个r进制字符串
Length 获取数组的长度
Length() 获取字符串的长度
Size() 获取集合的大小
正则表达式
匹配ip地址:\d+.\d+.\d+.\d+
评注:提取ip地址时有用
匹配特定数字:
1\d*KaTeX parse error: Undefined control sequence: \d at position 20: …//匹配正整数 ^-[1-9]\̲d̲*   //匹配负整数
^-?[1-9]\d*KaTeX parse error: Undefined control sequence: \d at position 17: …  //匹配整数 ^[1-9]\̲d̲*|0  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0KaTeX parse error: Undefined control sequence: \d at position 28: …负整数 + 0) ^[1-9]\̲d̲*\.\d*|0\.\d*[1…   //匹配正浮点数
^-([1-9]\d*.\d*|0.\d*[1-9]\d*)KaTeX parse error: Undefined control sequence: \d at position 21: …配负浮点数 ^-?([1-9]\̲d̲*\.\d*|0\.\d*[1…  //匹配浮点数
2\d*.\d*|0.\d*[1-9]\d*|0?.0+|0KaTeX parse error: Undefined control sequence: \d at position 33: … + 0) ^(-([1-9]\̲d̲*\.\d*|0\.\d*[1…  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
3+ / / 匹 配 由 26 个 英 文 字 母 组 成 的 字 符 串 [ A − Z ] + //匹配由26个英文字母组成的字符串 ^[A-Z]+   //26[AZ]+  //匹配由26个英文字母的大写组成的字符串
4+ / / 匹 配 由 26 个 英 文 字 母 的 小 写 组 成 的 字 符 串 [ A − Z a − z 0 − 9 ] + //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+   //26[AZaz09]+  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

栈与队列的初始化
Stack stack = new Stack();
Queue queue = new LinkedList();
Linkedlist常用方法

方法名 返回值 方法参数 方法简介
add boolean (E e) 向尾部添加指定的元素。
add void (int index, E element) 在指定下标插入指定元素。

方法名 返回值 方法参数 方法简介
remove E (int index) 移除指定下标处的元素。
remove boolean (Object o) 移除首次出现的指定元素(如果存在)。

方法名 返回值 方法参数 方法简介
set E (int index, E element) 将指定下标的元素替换为指定的元素。

方法名 返回值 方法参数 方法简介
get E (int index) 返回指定下标的元素。
contains boolean (Object o) 若包含指定的元素,返回 true。
indexOf int (Object o) 返回第一次出现的指定元素的索引;如果不包含该元素,则返回 -1。
lastIndexOf int (Object o) 返回最后出现的指定元素的索引;如果不包含此元素,则返回 -1。
遍历
方法名 返回值 方法参数 方法简介
size int 无 返回此列表的元素数,借助于for循环进行遍历。
iterator Iterator 无 返回迭代器,继承自List、Deque
遍历的方法:
1、size()方法+for循环。
2、增强版for循环。
3、迭代器iterator()方法+while循环。
4、stream()方法+forEach()方法。(java8版本以后)
二、作为堆栈基本用法
LinkedList作为堆栈时,push顺序时为1、2、3时,LinkedList的内部为3、2、1。(即链表的头插法)
入栈
方法名 返回值 方法参数 方法简介
push void (E e) 将元素推入此列表所表示的堆栈。
addFirst void (E e) 将指定元素插入此列表的开头。
出栈
方法名 返回值 方法参数 方法简介
pop E 无 从此列表所表示的堆栈处弹出一个元素。
removeFirst E 无 移除并返回此列表的第一个元素。
获取栈顶元素
方法名 返回值 方法参数 方法简介
peek E 无 获取但不移除此列表的第一个元素。
peekFirst E 无 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
上述的堆栈操作,两种方法基本上等价。
用法:
Deque stack = new LinkedList<>();
1
三、作为队列基本用法
入队
方法名 返回值 方法参数 方法简介
add boolean (E e) 向尾部添加指定的元素。(Queue)
addLast void (E e) 将指定元素添加到此列表的结尾。 (Deque)
offer boolean (E e) 将指定元素添加到此列表末尾(最后一个元素)。(Queue)
offerLast Boolean (E e) 在此列表末尾插入指定的元素。 (Deque)
出队
方法名 返回值 方法参数 方法简介
poll E 无 获取并移除此列表的头(第一个元素)。(Queue)
pollFirst E 无 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。(Deque)
remove E 无 获取并移除此列表的头(第一个元素)。(Queue)
removeFirst E 无 返回并移除此列表的第一个元素。 (Deque)
获取队首元素
方法名 返回值 方法参数 方法简介
peek E 无 获取但不移除此列表的第一个元素。 Queue
peekFirst E 无 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。(Deque)
element E 无 获取但不移除此列表的头(第一个元素)。 Queue
getFirst E 无 返回此列表的第一个元素。(Deque)
用法:
Deque queue = new LinkedList<>();
Queue queue = new LinkedList<>();

AscII码值
0=48 1=49 9=57 A=65 Z=90 a=97 z=122
Character.isDigit(str.charAt(i))是否数字
Character.isLetter(‘5’) 是否字母
Character.toLowerCase()
将大写字母转化成小写字母
Character.toUpperCase()
将小写字母转化成大写字母
常用排序和比较函数
Arrays.sort(数组) 数组排序
Arrays.equals(数组,数组) 数组是否相等
Collections.sort(集合) 集合排序

List去重

set.addAll(list);
list2.addAll(set);


  1. 1-9 ↩︎

  2. 1-9 ↩︎

  3. A-Za-z ↩︎

  4. a-z ↩︎

这篇关于菜鸟随身笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941223

相关文章

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus