顺丰科技

对一串用\":\"和\";\"拼接的汉字字符串排序

匿名 (未验证) 提交于 2019-12-02 21:53:52
近日在项目中遇到一个需求,要求显示的下拉菜单select选项的汉字字符进行排序,项目是前后端分离Ajax交互的,前端页面初始化时请求后端拿到菜单数据。项目中的所有菜单数据均是后端提供的。 场景是后端请求数据库拿到了菜单的数据,是一段字符串:例如 : "1:阿里巴巴;2:京东;3:有赞;4:蚂蚁金服;5:网易;6:顺丰科技;7:蘑菇街;8:唯品会;9:拼多多;10:同花顺;" 实现按照各个公司的名称进行排序,要求"数字:公司"的对应不能改变,返回一个完整的字符串,这意味着排序后要重新拼接。 可以借助集合框架Map和List来完成功能: 输入字符串 将字符串以";"分割成字符串数组 公司名称与对应的值存入map 公司名称存入list 对list进行排序 根据排序后的list去map里查找映射进行字符拼接 返回字符串 ```java public static void main(String[] args) { String str = "1:阿里巴巴;2:京东;3:有赞;4:蚂蚁金服;5:网易;6:顺丰科技;7:蘑菇街;8:唯品会;9:拼多多;10:同花顺;"; System.out.println(Sort(str)); } static String Sort(String string){ String [] options = string.split(";");

顺丰科技java面经

孤人 提交于 2019-11-30 03:34:47
一面: 1.问项目 2.基本数据类型 int、long、short、byte、float、double、char、boolean 3.什么时候用包装器类型,什么时候用基本数据类型 当和集合联合使用的时候用包装器类型,当值允许为null时用包装器类型,当使用反射时用包装器类型。其余时候用基本数据类型。 4.异常和错误?捕获异常后,什么时候直接处理,什么时候抛出去给上一层处理? 异常和错误都继承了Throwable类,错误是系统自带的不需要程序员去处理,而异常分为运行时异常和非运行时异常。运行时异常通常是逻辑问题,是不受检异常,程序中可以选择处理,也可以选择不处理。非运行时异常是受检异常,必须由throws声明抛出,不处理会编译不通过。由外界不稳定性引起的异常,就可抛出。考虑出现异常的责任,如果在系统外,就该抛出。 5.抽象类和接口的区别?什么时候使用抽象类而不是接口? 抽象类单继承,接口多实现。 抽象类有普通方法,接口只有抽象方法。 抽象类有构造方法和静态方法,但不可用abstract修饰。 接口中默认成员变量修饰符:public static final,默认方法:public abstract 抽象类中的方法修饰符可以用public、protected;接口中的方法只能是public 抽象类表示的是"is-a”关系,而接口表示的是“like-a”关系