package io.jcwl.modules.drives.controller;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* Created by lenovo on 2018/5/27.
//要使用jdk1.8编译
*/
public class Texo {
private Integer
age =
14
;
class Status{
private Integer
age
;
String
name
;
public Integer
getAge () {
return
age
;
}
public void
setAge (Integer age) {
this .
age = age
;
}
public String
getName () {
return
name
;
}
public void
setName (String name) {
this .
name = name
;
}
@Override
public boolean
equals (Object o) {
if (
this == o)
return true;
if (o ==
null || getClass() != o.getClass())
return false;
Status person = (Status) o
;
if (!
age .equals(person.
age ))
return false;
return
name .equals(person.
name )
;
}
@Override
public int
hashCode () {
int result =
age .hashCode()
;
result =
31 * result +
name .hashCode()
;
return result
;
}
public void
print () {
int age =
14
;
System.
out .println(
"局部变量:" + age)
;
System.
out .println(
"内部类变量:" +
this .
age )
;
System.
out .println(
"外部类变量:" + Texo.
this .
age )
;
} }
public static void
main (String[] arg ){ Texo.Status in =
new Texo().
new Status()
;
in.print()
;
List<Texo.Status> statuses=
new ArrayList<Texo.Status>()
;
Texo.Status status=
new Texo().
new Status()
;
status.setAge(
2 )
;
status.setName(
"zhangsan" )
;
statuses.add(status)
;
Texo.Status status3=
new Texo().
new Status()
;
status3.setAge(
1 )
;
status3.setName(
"lisi" )
;
statuses.add(status3)
;
Texo.Status status4=
new Texo().
new Status()
;
status4.setAge(
3 )
;
status4.setName(
"wangwu" )
;
statuses.add(status4)
;
Texo.Status status5=
new Texo().
new Status()
;
status5.setAge(
3 )
;
status5.setName(
"wangwu" )
;
statuses.add(status5)
;
for (Texo.Status status1:statuses){ System.
out .println(
"排序前" +status1.getName()+
"," +status1.getAge())
;
} statuses.sort((Texo.Status h1
, Texo.Status h2) -> h1.getName().compareTo(h2.getName()))
;
for (Texo.Status status1:statuses){ System.
out .println(
"排序后" +status1.getName()+
"," +status1.getAge())
;
}
// 去重
List<Texo.Status> personList =
new ArrayList<Texo.Status>()
;
statuses.stream().forEach( p -> {
if (!
personList .contains(p)) {
personList .add(p)
;
} } )
;
System.
out .println(personList)
;
for (Texo.Status status1:personList){ System.
out .println(
"Status去重后" +status1.getName()+
"," +status1.getAge())
;
} List<String> it =
new ArrayList<String>()
;
it.add(
"1" )
;
it.add(
"3" )
;
it.add(
"2" )
;
it.add(
"2" )
;
for (String i:it){ System.
out .println(
"排序前" +i)
;
} Collections.
sort (it
, (s1
, s2) -> s1.compareTo(s2))
;
for (String i:it){ System.
out .println(
"排序后" +i)
;
} List<String> its=it.stream().distinct().collect(Collectors.
toList ())
;
for (String i:its){ System.
out .println(
"去重后" +i)
;
} }}