java实现长链接转短链接
时间: 2023-09-08 07:10:45 浏览: 151
实现长链接转短链接的一种常见方式是使用哈希算法,将长链接转换为短链接的唯一标识码。以下是一个基于Java的简单实现:
```java
import java.util.HashMap;
public class UrlShortener {
private HashMap<String, String> urlMap;
private String baseUrl;
public UrlShortener(String baseUrl) {
this.baseUrl = baseUrl;
urlMap = new HashMap<>();
}
public String shorten(String url) {
String shortUrl = generateShortUrl(url);
urlMap.put(shortUrl, url);
return shortUrl;
}
public String expand(String shortUrl) {
return urlMap.get(shortUrl);
}
private String generateShortUrl(String url) {
int hashCode = url.hashCode();
String shortUrl = Integer.toString(hashCode, 16);
return baseUrl + "/" + shortUrl;
}
}
```
在这个实现中,我们使用了一个HashMap来保存长链接和短链接之间的映射关系。shorten方法将长链接转换为短链接,并将其存储到HashMap中,然后返回短链接;expand方法接收短链接,从HashMap中查找对应的长链接并返回。generateShortUrl方法使用哈希算法将长链接转换为短链接的唯一标识码。
需要注意的是,这个实现并不是线程安全的,如果需要在多线程环境下使用,需要进行一定的修改。
阅读全文