集合和数组的相互转换

集合和数组的相互转换集合和数组相互转换很多时候API的方法只支持集合或数组,比如适配器类中的数据只支持集合,这时候我们就要把数组转换集合。

大家好,又见面了,我是你们的朋友全栈君。

集合和数组相互转换

很多时候API的方法只支持集合或数组,比如适配器类中的数据只支持集合,这时候我们就要把数组转换集合。

集合转换成数组

可以把String换成其他类

List<String>list;
String[] characters = list.toArray(new String[list.size()]);

数组转换成集合

String[] arr ;
List<String>list1= Arrays.asList(arr);

上面是使用API来完成,使用循环遍历也是可以方便做到的。
##数组转换成集合(循环遍历)

    public static List<String> getList(String[] arr){
        List<String>list=new ArrayList<String>();
        for(int i=0;i<arr.length;i++){
            list.add(arr[i]);
        }
           return list;
    }

将集合转换成数组(循环遍历)

    public static String[] getArr(List<String> list){
          String[] arr=new String[list.size()];
        for(int i=0;i<list.size();i++){
            arr[i]=list.get(i);
        }
        return arr;
    }

将字符串反转输出的一个示例

//被操作的字符串
String str = “Welcome today is a good day!”;

使用集合和数组的相互转换

//字符串转为字符数组 
char[] array = str.toCharArray();  

//数组转为集合 
List<Character> list = new ArrayList<Character>();  
for (int i = 0; i < array.length; i++) {  
    list.add(array[i]);  
}  

//反转 
Collections.reverse(list);  

//集合转为数组 
Character[] characters = list.toArray(new Character[list.size()]);  

//构建反转后的字符串 
StringBuilder sb = new StringBuilder();  
for (Character character : list) {  
    sb.append(character);  
}  

System.out.println(sb.toString());  

更简单的实现:使用StringBuilder的反转

StringBuilder sb = new StringBuilder(str); 
sb.reverse(); 
System.out.println(sb.toString()); 

算法,从两头往中间挤着交换前后的位置

//字符串转为字符数组 
    char[] array = str.toCharArray();  
    for (int low = 0, high = array.length-1; low < high; low++, high--) {  
        //交换位置 
        char temp = array[low];  
        array[low] = array[high];  
        array[high] = temp;  
    }  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149244.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • git取消文件跟踪

    git取消文件跟踪

    2021年10月20日
    40
  • Java分布式应用技术架构介绍

    Java分布式应用技术架构介绍分布式架构的演进系统架构演化历程-初始阶段架构初始阶段的小型系统应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用Mysql,汇集各种免费开源软件以及一台廉价服务器就可以开始系统

    2022年6月12日
    35
  • java编写一个学生类和教师类_用JAVA编写一个夫类和子类的程序,内容是教师类和学生类…

    java编写一个学生类和教师类_用JAVA编写一个夫类和子类的程序,内容是教师类和学生类…2018-11-19回答21:抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。动物类要有呼吸方法。怎么呼吸就是子类的事了。现在有很多讨论和建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只…

    2022年7月8日
    22
  • java代码:九九乘法表

    java代码:九九乘法表1.代码packageday2;publicclasstest2{publicstaticvoidmain(String[]args){for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(i+””+j+”=”+ij+”\t”);}System.out.println();}}}2.结果展示1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4

    2022年7月15日
    10
  • java 数组转换_java数组转json

    java 数组转换_java数组转json 1.Arrays.asList坑点说明在开发中,我们有时候会需要将数组转换为集合List,这时候可能会想到Arrays.asList(),毕竟它是java提供的,肯定专业。。。吗?Integer[]a={1,2,3};List<Integer>list=Arrays.asList(a);System.out.println(list);但是实际上这里面有个大坑,如果不熟悉很容易GG。就是它转换成的其实是个“假List”,为什么这么说呢,因为它返回的其实

    2022年8月23日
    5
  • Idea使用SVN教程

    Idea使用SVN教程第一步:下载svn的客户端,通俗一点来说就是小乌龟啦!去电脑管理的软件管理里面可以直接下载,方便迅速 下载之后直接安装就好了,但是要注意这里的这个文件也要安装上,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。(都是坑啊)  然后就下一步下一步就安装好了。第二步:如果已经搭建好了svn服务的话,就要开始在idea中配置相关的配置了…

    2022年5月14日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号