当前位置: 首页 > news >正文

大连网站制作公司58晋江外贸网站建设

大连网站制作公司58,晋江外贸网站建设,适合负债者的10个副业,上海二手房剑指Offer 05.替换空格 目录 剑指Offer 05.替换空格05.替换空格题目代码#xff08;容易想到的#xff09;利用库函数的方法题解#xff08;时间复杂度更低#xff09;面试#xff1a;为什么java中String类型是不可变的 05.替换空格 题目 官网题目地址 代码#xff08;…剑指Offer 05.替换空格 目录 剑指Offer 05.替换空格05.替换空格题目代码容易想到的利用库函数的方法题解时间复杂度更低面试为什么java中String类型是不可变的 05.替换空格 题目 官网题目地址 代码容易想到的 class Solution {public String replaceSpace(String s) {String result ;for(int i0; i s.length();i){char c s.charAt(i); if(Character.isWhitespace(c)){result%20;}else{resultc;}}return result;} }这段代码实现了将字符串 s 中的空格替换为 %20。具体来说它使用了一个 for 循环遍历字符串 s 中的每一个字符当遇到空格时将其替换为 %20否则直接将字符添加到结果字符串 result 中。 知识点 获取字符串中某个字符的方法charAt()判断某个字符是否为空格的方法Character.isWhitespace() 利用库函数的方法 替换字符串的两种方法 class Solution {public String replaceSpace(String s) {return s.replaceAll( ,%20); //可以接受正则表达式} }class Solution {public String replaceSpace(String s) {return s.replace( ,%20); //速度快} } replace() 方法用于将一个字符串中的某个字符或字符串替换为另一个字符或字符串。它的语法如下 public String replace(char oldChar, char newChar) public String replace(CharSequence target, CharSequence replacement)其中第一个参数可以是一个字符第二个参数可以是一个字符或字符串。方法的返回值是一个新的字符串它是替换后的结果。 另一个方法是 replaceAll()它与 replace() 方法相似不同之处在于它可以接受一个正则表达式作为参数用于匹配需要替换的子字符串。它的语法如下 public String replaceAll(String regex, String replacement)其中第一个参数是需要替换的子字符串的正则表达式第二个参数是替换后的字符串。方法的返回值是一个新的字符串它是替换后的结果。 题解时间复杂度更低 ① 在字符串尾部填充任意字符使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符%20所以当遍历到一个空格时需要在尾部填充两个任意字符。 ② 令 P1 指向字符串原来的末尾位置P2 指向字符串现在的末尾位置。P1 和 P2 从后向前遍历当 P1 遍历到一个空格时就需要令 P2 指向的位置依次填充 02%注意是逆序的否则就填充上 P1 指向字符的值。从后向前遍是为了在改变 P2 所指向的内容时不会影响到 P1 遍历原来字符串的内容。 ③ 当 P2 遇到 P1 时P2 P1或者遍历结束P1 0退出。 public String replaceSpace(StringBuffer str) {int P1 str.length() - 1;for (int i 0; i P1; i)if (str.charAt(i) )str.append( );int P2 str.length() - 1;while (P1 0 P2 P1) {char c str.charAt(P1--);if (c ) {str.setCharAt(P2--, 0);str.setCharAt(P2--, 2);str.setCharAt(P2--, %);} else {str.setCharAt(P2--, c);}}return str.toString(); }java中 String是不可变的不能原地修改C可以原地修改 面试为什么java中String类型是不可变的 在 Java 中String 类型是不可变的也就是说一个 String 对象一旦被创建它的值就不能被修改。这是因为 String 类型被设计成是一种不可变的类型具有以下几个原因 安全性 由于 String 类型是不可变的因此在多线程环境下多个线程可以同时访问同一个 String 对象而不必担心数据被修改。如果在多线程环境下对可变的字符串进行修改可能会导致数据竞争和不一致性问题而这些问题可能会导致程序崩溃或者产生错误的结果。 性能 由于 String 类型是不可变的因此在对 String 对象进行拼接、截取、替换等操作时会创建新的 String 对象而原来的 String 对象不会被修改。这样做的好处是可以避免在修改字符串时频繁创建新的对象从而提高程序的性能。 缓存 由于 String 类型是不可变的因此可以使用字符串缓存来提高程序的性能。在 Java 中字符串常量池是一种字符串缓存机制它可以缓存字符串常量避免重复创建相同的字符串对象从而减少内存的占用。 易用性 由于 String 类型是不可变的因此它的使用非常简单和方便。在程序中我们可以直接使用 String 对象而不必担心其值被修改这样可以减少程序的错误和调试时间。
http://www.ho-use.cn/article/10820528.html

相关文章:

  • 滇中引水建设管理局网站公司要建设网站需要那些程序
  • 圣诞网站源码网络营销师月薪
  • 镇江企业网站排名优化产品推广方案思维导图
  • 自己怎么做网上注册免费的网站站长seo
  • 电商网站开发过程是什么如何上国外购物网站
  • 服务器两个域名一个ip做两个网站吗wordpress sql脚本
  • 开发公司 网站建设专业网站设计公司价格
  • 网站开发报价单 excelapache php 多个网站
  • 电子商务网站设计的书贵州省城乡与建设厅网站
  • 解析网站dns没有网站做APP
  • 网站主机选择与优化网站管理规范
  • 成都关键词自然排名沈阳seo搜索引擎
  • 网站建设的常见技术有哪些北京最好设计公司
  • python和php做网站网站制作公司网
  • 小型企业网站有哪些景泰县做网站
  • 自己做网站有名江苏州 网站制作
  • 苏州做网站平台软件编程专业
  • 小企业网站建设服务学院门户网站建设
  • 电脑可以做网站服务器吗烟台网站制作工具
  • 网站开发实训结果分析及其心得体会电商网
  • 怎么自己做免费网站网站竞价开户
  • 网站换程序301手机网站开发公司哪家好
  • 网页版拼多多商家版网站建设优化加盟代理
  • 怎样建设有价值的网站建站助手官网
  • 一个服务器可以建几个网站做网站最好的网络公司
  • 制作单页网站教程酒店网站制作
  • 申请绿色网站云主机 网站 多个二级域名 seo优化
  • 深圳网站设计兴田德润放心改版
  • 企业网站内的问答模式怎么做无锡网站怎么优化排名
  • 做家教网站代理seo营销型网站