我遇到了一些数据,我想用许多不同的方式对它进行排序,例如按购买最多的最便宜的产品进行排序。我想一行一行地对文档进行分组,因为每行包含另一个“项目”。我附上了一张图片供参考。我更喜欢使用Java,但如果有必要,我会学习R。我是否手动将每行编码为数组?有400个项目,如果这是唯一的方法,我可以将其分成几天。
样品
另一种方法是创建一个名为fruit的类,并在该类中创建比较器。例如:
import java.awt.*;
import java.util.Comparator;
public class Fruit{
public static Comparator<Fruit> compareWeights = Comparator.comparingInt((Fruit fruit) -> fruit.weight);
public static Comparator<Fruit> compareColors = Comparator.comparingInt((Fruit fruit) -> fruit.color.getRGB());
private final String fruitName;
private final int weight;
private final Color color;
Fruit(String fruitName, Color color, int weight){
this.fruitName = fruitName;
this.weight = weight;
this.color = color;
}
@Override
public String toString(){
return fruitName + ", " + color.toString() + ", " + weight + " pound.";
}
}
然后你创建水果并用定制的比较器对它们进行排序
Fruit firstFruit = new Fruit("Banana", Color.YELLOW, 1);
Fruit secondFruit = new Fruit("Cola apple", Color.RED, 7);
ArrayList<Fruit> data = new ArrayList<>();
data.add(secondFruit);
data.add(firstFruit);
data.sort(Fruit.compareColors);
System.out.println(data);
您可以将数据存储在数组中,然后使用自定义比较器对其进行排序。例如:
public static void main(String[] args){
ArrayList<String[]> data = new ArrayList<>();
String[] firstFruit = new String[]{"Banana", "Yellow", "7 pound"};
String[] secondFruit = new String[]{"Cola Apple", "Red", "1 pound"};
data.add(firstFruit);
data.add(secondFruit);
System.out.println("Unsorted Array");
print(data);
Comparator<String[]> compareWeights= Comparator.comparingInt((String[] item) -> Integer.parseInt(item[2].split(" ")[0]));
data.sort(compareWeights);
System.out.println("Sorted Array");
print(data);
}
static void print(ArrayList<String[]> data){
System.out.println("-----------------");
for (String[] str:data) {
System.out.println(Arrays.toString(str));
}
System.out.println("-----------------");
}
在这里,你是根据重量排序的,如果你想以其他方式排序,那么你必须创建另一个比较器。
该代码的输出为:
Unsorted Array
-----------------
[Banana, Yellow, 7 pound]
[Cola Apple, Red, 1 pound]
-----------------
Sorted Array
-----------------
[Cola Apple, Red, 1 pound]
[Banana, Yellow, 7 pound]
-----------------
问题内容: 我有一个Java应用程序,它需要显示大量数据(大约一百万个数据点)。数据并不需要全部同时显示,而仅在用户请求时才显示。该应用程序是桌面应用程序,未与应用程序服务器一起运行或未与任何集中式数据库连接。 我的想法是在计算机上运行数据库并在其中加载数据。在大多数时候,数据库都是只读的,因此我应该能够建立索引以帮助优化查询。如果我在本地系统上运行,则不确定是否应该尝试实现一些缓存(我不确定查询
数据处理 可将字段的值进行处理得到最终结果 html标签过滤 内容替换 批量替换 关键词过滤 条件判断 截取字符串 翻译 工具箱 将文本链接标记为图片链接:如果字段的值是完整的url链接(非<img>标签内的链接),可将链接识别为图片 使用函数 调用接口
本文向大家介绍java+jquery处理xml数据的方法,包括了java+jquery处理xml数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java+jquery处理xml数据的方法。分享给大家供大家参考。具体实现方法如下: 1. AjaxJqueryXml.js如下: 2. AjaxXmlServlet.java如下: 3. 前台html页面 这里请自己添加jquery库文
我有一个简单的问题。我目前正在使用Netty处理来自客户端的TCP和UDP数据包。我有一个单独的线程上的每个套接字侦听器,它工作得很好。 我现在担心的是,当流量开始严重冲击它时,我不认为每个处理程序只有一个线程来管理消息就足够了。为每条消息生成一个新线程是否正确(我觉得不正确)?或者我应该使用像线程池这样的东西来实现这一点?如有任何建议,将不胜感激。 下面是消息处理程序的一些示例代码。我编写了一些
Data Preparation You must pre-process your raw data before you model your problem. The specific preparation may depend on the data that you have available and the machine learning algorithms you want
在输入的JSON数据中,v的值越高,粒子越亮,并且它们从出发国家到目的国家的运行越快。 (请查阅Michael Chang的文章来 了解他是如何提出这个想法的)。Gio.js库会自动缩放输入数据的范围以便于更好的数据可视化。作为开发人员,您还可以定义自己的预处理数据的方式。