我有一个名为Fruit的课程.我正在创建此类的列表并在列表中添加每个水果.我想根据水果名称的顺序对此列表进行排序.
public class Fruit{
private String fruitName;
private String fruitDesc;
private int quantity;
public String getFruitName() {
return fruitName;
}
public void setFruitName(String fruitName) {
this.fruitName = fruitName;
}
public String getFruitDesc() {
return fruitDesc;
}
public void setFruitDesc(String fruitDesc) {
this.fruitDesc = fruitDesc;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用for循环创建它的列表
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i=0;i<100;i++)
{
fruit = new fruit();
fruit.setname(...);
fruits.add(fruit);
}
Run Code Online (Sandbox Code Playgroud)
我需要使用列表中每个对象的水果名称对此arrayList进行排序 …
我希望为我的地址簿应用程序实现一个排序功能.
我想要排序ArrayList<Contact> contactArray.Contact是一个包含四个字段的类:姓名,家庭电话号码,手机号码和地址.我想要排序name.
如何编写自定义排序功能来执行此操作?
我有一个以Person多个属性命名的类,例如:
public class Person {
private int id;
private String name, address;
// Many more properties.
}
Run Code Online (Sandbox Code Playgroud)
很多Person对象存储在一个ArrayList<Person>.我想通过多个排序参数对此列表进行排序,并且不时有所不同.例如,我可能有一次想要按name升序然后address降序排序,而另一次只能通过id降序排序.
而且我不想创建自己的排序方法(即,我想使用Collections.sort(personList, someComparator).实现这一目标的最优雅的解决方案是什么?
可能重复:
对联系人的ArrayList进行排序
我正在存储DataNode对象ArrayList.该DataNode班有一个名为整型字段degree.我想以DataNode递增的顺序从nodeList 检索对象degree.我该怎么做.
List<DataNode> nodeList = new ArrayList<DataNode>();
Run Code Online (Sandbox Code Playgroud) 我有一个ArrayList,并希望按降序排序.我用它来做法java.util.stream.Stream.sorted(Comparator).这是根据Java API的描述:
返回由此流的元素组成的流,并根据提供的内容进行排序
Comparator.
这个方法给我一个升序排序.我应该更改哪个参数,只是为了降序?
我有ArrayList,其中包含足球队(Team Team).团队有积分,我想按点数对它们进行排序.
public class Team {
private int points;
private String name;
public Team(String n)
{
name = n;
}
public int getPoints
{
return points;
}
public void addPoints(boolean win)
{
if (win==true)
{
points = points + 3;
}
else if (win==false)
{
points = points + 1;
}
}
//...
}
Run Code Online (Sandbox Code Playgroud)
主类:
List<Team> lteams = new ArrayList<Team>;
lteams.add(new Team("FC Barcelona"));
lteams.add(new Team("Arsenal FC"));
lteams.add(new Team("Chelsea"));
//then adding 3 points to Chelsea and 1 point to Arsenal
lteams.get(2).addPoints(true); …Run Code Online (Sandbox Code Playgroud) 我有一个实现静态方法的类学生
public static Comparator<Student> getCompByName()
Run Code Online (Sandbox Code Playgroud)
返回Student的新比较器对象,通过属性"name"比较2个Students对象.
我现在需要使用我的函数getCompByName()通过'name'对学生ArrayList进行排序来测试它.
这是我的Student课程中的Comparator方法.
public static Comparator<Student> getCompByName()
{
Comparator comp = new Comparator<Student>(){
@Override
public int compare(Student s1, Student s2)
{
return s1.name.compareTo(s2.name);
}
};
return comp;
}
Run Code Online (Sandbox Code Playgroud)
而主要我需要测试的地方
public static void main(String[] args)
{
// TODO code application logic here
//--------Student Class Test-------------------------------------------
ArrayList<Student> students = new ArrayList();
Student s1 = new Student("Mike");
Student s2 = new Student("Hector");
Student s3 = new Student("Reggie");
Student s4 = new Student("zark");
students.add(s1);
students.add(s2);
students.add(s3);
students.add(S4);
//Use getCompByName() …Run Code Online (Sandbox Code Playgroud) 我正在尝试按距离重新排序我的项目列表(使用android getListView,而不是自定义),我遇到了问题.
我使用适配器内的Maps Utils (SomeAdapter)获得以米为单位的球形距离(双倍).
double distance = SphericalUtil.computeDistanceBetween(fromCoord, toCoord);
但是在我填充适配器(AsyncTask)后,我需要在onPostExecute上缩短距离,我不知道.
@Override
protected void onPostExecute(Boolean result) {
try {
SQLiteHelper dbHelper = new SQLiteHelper(getActivity());
pds = new SomeDataSource(dbHelper.db);
ArrayList<Raids> some = pds.getAllRaids();
SomeAdapter listViewAdapter = new SomeAdapter(getActivity(), some);
getListView().setAdapter(listViewAdapter);
SharedPreferences somename = context.getSharedPreferences("SomeName", Context.MODE_PRIVATE);
Boolean UserOrder = somename.getBoolean("UserOrder", false);
if (UserOrder){
}
} catch (SQLiteException | NullPointerException s) {
Log.d("SomeName", "SomeFrag:", s);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
有可能创造
ArrayList<Object type car,Object type bus> list = new ArrayList<Object type car,Object type bus>();
我的意思是将不同类的对象添加到一个arraylist?
谢谢.
嘿我正在为学生的细节做一个商店,我想要一些关于使用哪个系列的意见.商店将提供姓名,号码,地址和电子邮件等详细信息.然后将商店打印到文本文件,我可以在其中加载,保存,编辑和删除文本文件中的详细信息.我以前从未这样做过,如果在使用集合时对文件I/O有任何限制,我也不会这样做.所以我非常感谢这些评论.提前致谢.
java ×10
sorting ×6
arraylist ×5
collections ×5
comparator ×2
adapter ×1
android ×1
file-io ×1
java-8 ×1
java-stream ×1
object ×1