stringbuilder

regex example in java

五迷三道 提交于 2020-06-28 22:13:16
问题 i want to get an input from user in string type and find the first 2 numbers and multiply them and replace the result in text the user should put the command word first , the command is : mul example : mul hello 2 car ?7color 9goodbye5 the result should be : 14color 9goodbye5 i wrote this code but its not working can you help me for solving the problem? import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Collusion { public static void main

Why StringBuilder is much faster than String

谁说胖子不能爱 提交于 2020-06-11 05:14:12
问题 I know that there are a lot of similar questions posted here, but these don't really answer my question. I just wanted to know why StringBuilder is much faster than string concatenation using the + operator. Even though that the + operator internally is implemented using either StringBuffer or StringBuilder ? public void shortConcatenation(){ long startTime = System.currentTimeMillis(); while (System.currentTimeMillis()-startTime<=1000){ character+="Y"; } System.out.println("short :"

MaxCapacity of StringBuilder

孤人 提交于 2020-05-25 05:29:26
问题 why does this code throw an OutOfMemoryException on i = 690864192? StringBuilder sb = new StringBuilder(); for (int i = 0; i < Int32.MaxValue; i++) { sb.Append("s"); } Console.WriteLine(sb.ToString()); Console.Read(); The default capacity is 16 chars, but this grows at it needs to up to the max which is int.MaxValue = 2,147,483,647. So why is it when number of chars is 690,864,192 which is much less than the max capacity, does it throw an exception? 回答1: Each time the StringBuilder allocates

Is there any benefit to returning the result of assigning a value to a local variable rather than the value directly?

拜拜、爱过 提交于 2020-05-23 12:06:09
问题 I am doing a java code inspection. Here is a function (snippet): String getValue() { String res; StringBuilder strBuilder = new StringBuilder(); // More code here that sets strBuilder return res = strBuilder.toString(); } First there is a warning that the value of res is not used. Secondly I don't understand the return. Why don't they just return( strBuilder.toString() ) . Is there some sort of advantage? 回答1: res is not used, so there is no reason to return like that. You can remove it:

Randomize Lines order in textbox with StringBuilder

ぃ、小莉子 提交于 2020-05-15 08:05:52
问题 I'm trying to randomize the final Result here the idea is get the textbox lines do some code , then export it to textbox2 , the code is working but i want to randomize the lines order when exporting to textbox2 Dim newr As New StringBuilder For Each line In texbox1.text.Lines newr.AppendLine(line & " CODE-DONE-1") newr.AppendLine(line & " CODE-DONE-2") newr.AppendLine(line & " CODE-DONE-3") Next textbox2.text = newr.ToString 'Want to randomize Lines Order Example if i put in textbox1 1 2 3 i

[每日一题]对比Java中的String、StringBuffer、StringBuilder

帅比萌擦擦* 提交于 2020-04-22 02:46:46
今天来个简单的题目,轻松一下:) 相信很多人对这个问题都不陌生,只要是个Java程序员,肯定就用过这几个类: 1、String是个不可变对象,这就意味着每次字符串拼接都是创建了新的实例 2、StringBuilder和StringBuffer都是专门用来做字符串拼接的 3、StringBuffer是线程安全的,StringBuilder是线程不安全的 4、线程安全是要付出代价的,所以StringBuffer比StringBuilder要慢一点点 OK,上面四条是不是倒背如流了?那问个具体问题: 1、以下虚构出来的三种写法哪个速度最快?哪个最差? String str = "I" + "love" + "Java" + "Python" + ... + "Golang"; String str = new StringBuilder("I").append("love").append("Java").append("Python").append(...).append("Golang").toString(); String str = new StringBuffer("I").append("love").append("Java").append("Python").append(...).append("Golang").toString(); 解答:因为都是字符串字面量

Java 代码性能优化

試著忘記壹切 提交于 2020-04-06 14:04:23
代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。 代码优化的目标是 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。 2、尽量重用对象 特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替

一个数的最小因子的连乘

佐手、 提交于 2020-04-05 17:32:29
/** * @des 一个数的最小因子的连乘 * 2*2*2*2*2*2*5*5*5*5*5*5*=1000000 * @param a */ private static void min(int a) { int b =a; StringBuilder stringBuilder = new StringBuilder(); int i = 2; while (true) { if (b % i == 0) { stringBuilder.append(i + "*"); b /= i; } else i++; if (b == 1) break; } System.out.println(stringBuilder.substring(0,stringBuilder.length())+"="+a); } 来源: https://www.cnblogs.com/wushenghfut/p/12637221.html

学习数据结构的第四天

a 夏天 提交于 2020-03-31 10:28:43
class Solution { private class BST<E extends Comparable<E>> { //这里也是暗含乾坤,必须extends呀 private Node root; private int size; private class Node { E value; Node left; Node right; public Node(E e) { value=e; left=null; right=null; } } public boolean contains(E e) { return contains(this.root,e); } private boolean contains(Node node,E e) { if(node==null) return false; if(node.value.equals(e)) //如果是引用类型的话,那么就是.equals return true; if(node.value.compareTo(e)>0) return contains(node.left,e); if(node.value.compareTo(e)<0) return contains(node.right,e); return false; } public void add(E e) { this.size++;

Java SE 核心 I

[亡魂溺海] 提交于 2020-03-30 10:54:06
Java SE 核心 I 1、Object类   在 Java 继承体系中,java.lang.Object 类位于顶端(是所有对象的直接或间接父类)。如果一个类没有写 extends 关键字声明其父类,则该类默认继承 java.lang.Object 类。Object 类定义了“对象”的基本行为,被子类默认继承。 public class Object 类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。 11个方法:3个重载方法。9个方法。 1)toString():得到对象的字符串表示形式。 2)equals(Object o):比较两个对象是否相等的。(比较内容)。 3)getClass():得到对象的大Class 对象。 4)hashCode():得到对象的哈希码。 5)wait():线程等待。(重载) 6)notify():唤醒线程。 7)notifyAll():唤醒所有线程。 8)clone():克隆 对象。 9)inalize():垃圾回收相关的。 2、String类 是字符串类型,是引用类型,是“不可变”字符串,无线程安全问题。在 java.lang.String中 注意事项:String str =“abc”;和 String str=new String(“abc”);的区别! 1)String 在设计之初,虚拟机就对他做了特殊的优化