---
# System prepended metadata

title: 實作 part 4

---

# 實作 part 4

:::danger

* 取得一個 list 只有 name，且不重複並排序的資料
[Bill, Brian, KZ]
```java=
public List<String> getNotRepeatingName(){
    List<User> user=userRepository.findAll();  
    List<String>Response=user.stream().map(User:getname).distinct.sorted().collect(Collectors.toList());
return Response;
}
```
* 取得一個 map，其 key 為 ID；value 為 name
    * 1 : “Bill”
    * 2 : “Brian”
```java=
public Map<Integer,String> MappingName(/*int ID*/){
    List<User> user=userResponsitory.findAll();
    Map<Interger,String> Response=user.stream().collecr(Collectors.toMap(u->u.getID(),u.getName()));
}
```
* 取得第一筆 name = KZ 的資料
```java=
public Optional<User> getFirstNAme(){
List<User> user=userRespository.findAll();
String namecheck="KZ";
Optional<User> Response=user.stream.filter(u->u.getName().equals(namecheck)).findFirst();
}
```
* 將資料先依據 age 排序，再依據 ID 排序
```java=
public List<User> getOrderByID(){
List<User> user=userRepository.findAll().Stream().sorted(Comparator.coparing(User:getAge).reversed().thenComparing(User::getId).collect(COllectors.toList());
 return user;
}
```
* 取得一個 string 為所有資料的 name, age|name, age
    * Bill, 13|KZ, 23
```java=
public String GetAllNameAndAge(){
    String user;
    user=userRepository.findAll().stream().map(p->p.getName()+","+p.getAge()).collect(Collectors.joining("/"));
return user
}

```
:::