/**
* 将一个集合/数组中的元素组成一个字符串,每个元素之间用一个指定的分隔符隔开
**/
如有更好的解决方法,希望贴上来!
- /**
- *将一个集合/数组中的元素组成一个字符串,每个元素之间用一个指定的分隔符隔开
- */
- //下面是实现的几种解决办法,个人觉得第四种较好
- publicstaticvoidgetContents1(Stringstr){
- StringBuildersb=newStringBuilder();
- for(inti=0;i<str.length();i++){
- Stringcontent=str.charAt(i)+"";
- sb.append(content);
- //判断不是str的最后一个元素时,追加分隔符:"@"
- if(i<str.length()-1){
- sb.append("@");
- }
- }
- System.out.println(sb.toString());
- }
- publicstaticvoidgetContents2(Stringstr){
- StringBuildersb=newStringBuilder();
- for(inti=0;i<str.length();i++){
- Stringcontent=str.charAt(i)+"@";
- sb.append(content);
- }
- //截取最后一个分隔符之前的内容
- System.out.println(sb.substring(0,sb.length()-1));
- }
- publicstaticvoidgetContents3(Stringstr){
- StringBuildersb=newStringBuilder();
- for(inti=0;i<str.length();i++){
- Stringcontent=str.charAt(i)+"@";
- sb.append(content);
- }
- //将最后一个多余的分隔符删除
- System.out.println(sb.deleteCharAt(sb.length()-1));
- //删除第一个比删除最后一个省去减法运算
- StringBuffersb1=newStringBuffer();
- for(inti=0;i<str.length();i++){
- Stringcontent="@"+str.charAt(i);
- sb1.append(content);
- }
- //将最后一个多余的分隔符删除
- System.out.println(sb1.deleteCharAt(0));
- }
- publicstaticvoidgetContents4(Stringstr){
- StringBuffersb=newStringBuffer();
- if(null!=str&&str.length()>0){
- if(str.length()==1){
- sb.append(str);
- System.out.println(sb);
- }else{
- //最少的判断次数
- sb.append(str.charAt(0));
- for(inti=1;i<str.length();i++){
- Stringcontent="@"+str.charAt(i);
- sb.append(content);
- }
- System.out.println(sb);
- }
- }else{
- System.out.println("请输入元素!");
- }
- }
- /**
- *publicstaticStringJoiN(List<String>list){StringBuildersb;
- *if(null!=list&&!list.isEmpty()){sb.append(list.get(0));for(int
- *i=1;i<list.size;i++){sb.append(";"+list.get(i));}}return
- *sb.toString();}
- */