Files
JavaClasses/README.md
2026-01-26 18:18:09 -05:00

27 lines
1.3 KiB
Markdown

# JavaClasses
[![Quality Gate Status](https://sonarqube.mattrixwv.com/api/project_badges/measure?project=JavaClasses&metric=alert_status&token=sqb_393560530c97c2e9f2bc1df1b34c801926363baa)](https://sonarqube.mattrixwv.com/dashboard?id=JavaClasses)
This is a set of classes and functions, not part of the standard library, that I have found it helpful to keep around.
## Stopwatch
This is a class that allows you to determine the execution time of an algorithm.
You can get specific resolutions of time through their own get functions, all of which return double.
However I have built it a function, getStr(), that automatically chooses the best resolution and returns both the number and resolution as a string.
```Java
Stopwatch timer = new Stopwatch();
timer.start();
//Code to time here
timer.stop();
System.out.printf("It took %s to run this algorithm", timer.getStr());
//You could also do something like this if you prefered
System.out.printf("It took %f milliseconds to run this algorithm", timer.getMilli());
```
## Algorithms
This is a class that contains many different algorithms that I have found it useful to keep around. This is used extensively in my [Project Euler](https://git.mattrixwv.com/ProjectEuler/ProjectEulerJava) project.
All methods are overloaded to allow for using Integer, Long, and BigInteger types.